dotnetomaniak.pl - Artykuły z tagiem SOLIDdotnetomaniak.pl - Artykuły z tagiem SOLID2024-03-28T19:01:13Zhttps://dotnetomaniak.pl/Tags/SOLIDCopyright (c) dotnetomaniak.pldotnetomaniak.pl Atom Generatordotnetomaniak.pl webmasteradmin@dotnetomaniak.plhttps://dotnetomaniak.pl/Assets/Images/fav.icohttps://dotnetomaniak.pl/Assets/Images/dotnetomaniak_logo-negatyw_small.png43025https://dotnetomaniak.pl/5-najlepszych-praktyk-dobrego-programowania5 najlepszych praktyk dobrego programowania2021-03-16T17:15:38Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_3aNRnehim06jq0_XUMnvFg.png"/></div><div>Jak zostać świetnym programistą? Czym właściwie są dobre praktyki programowania? Z których warto korzystać? Uchylimy rąbka tajemnicy. Eksperci od kodu w Altkom Software & Consulting zdradzili nam, co jest ich zdaniem ważne, aby kod był czysty.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/5-najlepszych-praktyk-dobrego-programowania"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2faltkomsoftware.pl%2fblog%2f5-najlepszych-praktyk-dobrego-programowania%2f" style="border:0px"/></a></div></div>witek1902https://dotnetomaniak.pl/Users/0uwA-O2wAUCYI9VYUmqR6w2021-03-17T07:34:47Zhttps://dotnetomaniak.pl/5-najlepszych-praktyk-dobrego-programowania12040Jak zostać świetnym programistą? Czym właściwie są dobre praktyki programowania? Z których warto korzystać? Uchylimy rąbka tajemnicy. Eksperci od kodu w Altkom Software & Consulting zdradzili nam, co jest ich zdaniem ważne, aby kod był czysty.https://altkomsoftware.pl/blog/5-najlepszych-praktyk-dobrego-programowania/http://dotnetomaniak.pl/Data/Thumbnails/small_3aNRnehim06jq0_XUMnvFg.pnghttps://dotnetomaniak.pl/Czym-jest-SOLID-Standardowe-Pytania-Rekrutacyjne-YouTubeCzym jest SOLID? - Standardowe Pytania Rekrutacyjne - YouTube2019-12-09T15:12:22Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_Ii2DWRNxPU2t-2S6ZkS9nQ.png"/></div><div>W końcu jest⚠️⚠️⚠️
Drugi odcinek #StandardowePytaniaRekrutacyjne właśnie wjechał na Youtube.
Tym razem cała masa mięcha.
Czy wiesz czym jest SOLID?
Rozumiesz czym jest Zasada podstawienia Liskov?
Wiesz jak zastosować te wszystkie zasady w praktyce?
Jeżeli masz jakiekolwiek wątpliwości to zapraszam. Wszystko wyjaśnione na przykładach.
Doświadczonych kolegów też bardzo zapraszam do dyskusji. Chętnie poznam Wasze zdanie na temat przykładów.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Czym-jest-SOLID-Standardowe-Pytania-Rekrutacyjne-YouTube"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fyoutu.be%2feyFeOYR-kHM" style="border:0px"/></a></div></div>wildcat89https://dotnetomaniak.pl/Users/WTGcNnn1YUmR-GkyIR97-Q2019-12-10T07:14:40Zhttps://dotnetomaniak.pl/Czym-jest-SOLID-Standardowe-Pytania-Rekrutacyjne-YouTube21490W końcu jest⚠️⚠️⚠️
Drugi odcinek #StandardowePytaniaRekrutacyjne właśnie wjechał na Youtube.
Tym razem cała masa mięcha.
Czy wiesz czym jest SOLID?
Rozumiesz czym jest Zasada podstawienia Liskov?
Wiesz jak zastosować te wszystkie zasady w praktyce?
Jeżeli masz jakiekolwiek wątpliwości to zapraszam. Wszystko wyjaśnione na przykładach.
Doświadczonych kolegów też bardzo zapraszam do dyskusji. Chętnie poznam Wasze zdanie na temat przykładów.https://youtu.be/eyFeOYR-kHMhttp://dotnetomaniak.pl/Data/Thumbnails/small_Ii2DWRNxPU2t-2S6ZkS9nQ.pnghttps://dotnetomaniak.pl/EN-Attributes-of-Clean-Domain-Model-Kamil-Grzybek[EN] Attributes of Clean Domain Model - Kamil Grzybek2019-11-04T12:52:56Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_LM6xMx8JmkG7y7igtyQGhw.png"/></div><div>Attributes of Clean Domain Model</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/EN-Attributes-of-Clean-Domain-Model-Kamil-Grzybek"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fwww.kamilgrzybek.com%2fdesign%2fclean-domain-model-attributes%2f" style="border:0px"/></a></div></div>kamgrzybekhttps://dotnetomaniak.pl/Users/KMVLJmcJjEuw5Hi8j5MeiA2019-11-05T07:33:26Zhttps://dotnetomaniak.pl/EN-Attributes-of-Clean-Domain-Model-Kamil-Grzybek21260Attributes of Clean Domain Modelhttps://www.kamilgrzybek.com/design/clean-domain-model-attributes/http://dotnetomaniak.pl/Data/Thumbnails/small_LM6xMx8JmkG7y7igtyQGhw.pnghttps://dotnetomaniak.pl/Stop-trying-to-mock-the-ILogger-methods-IndexOutOfRangeStop trying to mock the ILogger methods – IndexOutOfRange2019-08-08T07:07:58Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_v7LrqmDkcU6JHYHDGYdL2g.png"/></div><div>Reading time ~3 minutes
I’ve seen multiple people struggling with trying to mock the ILogger calls. This post will hopefully save some people from wandering this path. Here it goes:Please stop trying to mock the ILogger methods from .net core.
Here is why:
Most ILogger methods that we use for logging are extension methods - static methods. While mocking them is possible using Prig, or Microsoft Fakes it is not easy or pleasant. Mocking a static method boils down to replacing the code at runtime using...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Stop-trying-to-mock-the-ILogger-methods-IndexOutOfRange"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2findexoutofrange.com%2fStop-trying-to-mock-the-ILogger-methods%2f" style="border:0px"/></a></div></div>maklipsahttps://dotnetomaniak.pl/Users/31yXhXxtM0GtdEekLLT8yw2019-08-09T05:55:17Zhttps://dotnetomaniak.pl/Stop-trying-to-mock-the-ILogger-methods-IndexOutOfRange11280Reading time ~3 minutes
I’ve seen multiple people struggling with trying to mock the ILogger calls. This post will hopefully save some people from wandering this path. Here it goes:Please stop trying to mock the ILogger methods from .net core.
Here is why:
Most ILogger methods that we use for logging are extension methods - static methods. While mocking them is possible using Prig, or Microsoft Fakes it is not easy or pleasant. Mocking a static method boils down to replacing the code at runtime using...https://indexoutofrange.com/Stop-trying-to-mock-the-ILogger-methods/http://dotnetomaniak.pl/Data/Thumbnails/small_v7LrqmDkcU6JHYHDGYdL2g.pnghttps://dotnetomaniak.pl/Zamien-smoki-na-pandy-Zamien-smoki-na-pandyZamień smoki na pandy – Zamień smoki na pandy2019-07-01T07:29:07Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_pgE6UybnX0W2mwsWqq-pXA.png"/></div><div>“Here be dragons” – czy słyszeliście kiedyś ten zwrot? Czy słyszeliście o nim w kontekście programowania albo widzieliście taki komentarz w kodzie?
Tak? To współczuję – mam nadzieję, że byliście wtedy przyodziani w SOLIDną zbroję, i mieliście odpowiedni ekwipunek, żeby sobie z tymi smokami poradzić. Przede wszystkim miecz. Podobno jednym ze sposobów zwalczania smoków w kodzie jest użycie legendarnego miecza zwanego Excalibur Refactorum. Legenda głosi, że miecz ten wbity jest w skałę (gdzieś w okolicach...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Zamien-smoki-na-pandy-Zamien-smoki-na-pandy"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fzamiensmokinapandy.pl%2fzamien-smoki-na-pandy%2f" style="border:0px"/></a></div></div>Piotr Stapphttps://dotnetomaniak.pl/Users/uYS8cHLZukmjW_DgdZuz0Q2019-07-02T06:19:15Zhttps://dotnetomaniak.pl/Zamien-smoki-na-pandy-Zamien-smoki-na-pandy11710“Here be dragons” – czy słyszeliście kiedyś ten zwrot? Czy słyszeliście o nim w kontekście programowania albo widzieliście taki komentarz w kodzie?
Tak? To współczuję – mam nadzieję, że byliście wtedy przyodziani w SOLIDną zbroję, i mieliście odpowiedni ekwipunek, żeby sobie z tymi smokami poradzić. Przede wszystkim miecz. Podobno jednym ze sposobów zwalczania smoków w kodzie jest użycie legendarnego miecza zwanego Excalibur Refactorum. Legenda głosi, że miecz ten wbity jest w skałę (gdzieś w okolicach...https://zamiensmokinapandy.pl/zamien-smoki-na-pandy/http://dotnetomaniak.pl/Data/Thumbnails/small_pgE6UybnX0W2mwsWqq-pXA.pnghttps://dotnetomaniak.pl/Konkurs-Nie-SOLID-nie-PodsumowanieKonkurs Nie SOLID-nie. Podsumowanie.2019-04-22T16:03:56Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_WElDmV5Y0EKRyImNtrRmRA.png"/></div><div>Stało się, zakończyłem właśnie konkurs na blogu, związany z całą serią postów dotyczących zasad SOLID i w ramach tego postu, publikuję odpowiedzi/komentarze które były warunkiem udziału w konkursie. Publikuję również moje przemyślenia względem tych właśnie komentarzy.
Myślę, że to będ...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Konkurs-Nie-SOLID-nie-Podsumowanie"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fprogramista-doswiadczony.pl%2fkonkurs-nie-solid-nie-podsumowanie%2f" style="border:0px"/></a></div></div>patrykkubielahttps://dotnetomaniak.pl/Users/I4X-XuobaEevrAcOddAMSg2019-04-23T06:39:36Zhttps://dotnetomaniak.pl/Konkurs-Nie-SOLID-nie-Podsumowanie2720Stało się, zakończyłem właśnie konkurs na blogu, związany z całą serią postów dotyczących zasad SOLID i w ramach tego postu, publikuję odpowiedzi/komentarze które były warunkiem udziału w konkursie. Publikuję również moje przemyślenia względem tych właśnie komentarzy.
Myślę, że to będ...https://programista-doswiadczony.pl/konkurs-nie-solid-nie-podsumowanie/http://dotnetomaniak.pl/Data/Thumbnails/small_WElDmV5Y0EKRyImNtrRmRA.pnghttps://dotnetomaniak.pl/Nie-SOLID-nie-05-Dependency-Inversion-PrincipleNie SOLID-nie #05: Dependency Inversion Principle2019-04-03T06:38:03Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_9GIrbMlYpEWisjIPA1Hg0Q.png"/></div><div>Robert C. Martin (Uncle Bob) w swoim artykule nt. Dependency Inversion Principle, skondensowanej wersji rozdziału „DIP: The Dependency-Inversion Principle” ze swojej książki pt. Agile Software Development, Principles, Patterns and Practices, opisuje „zły” design aplikacji i wprowadza pojęcie „kruchości” aplikacji.
Mianowicie, kruchość aplikacji to m.in. tendencja aplikacji do psucia się w wielu miejscach, w momencie jednej małej zmiany w miejscu zupełnie nie powiązanym do miejsca gdzie zaszła zmiana. Tego typu „kruchość”, często jest powodem obniżenia wiarygodności w niezawodność zmian i poprawek. Użytkownicy i managerowie nie są w stanie potwierdzić jakości wykonania produktu. Projektanci natomiast, nie są w stanie przewidzieć re-użycia komponentów aplikacji w innych miejsach, ponieważ nie mają pewności jak one się zachowają.
Zazwyczaj w tego typu aplikacji, napisanie jej na nowo, wydaje się lepszym pomysłem niż jej poprawa. Głównie ze względu na koszty...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Nie-SOLID-nie-05-Dependency-Inversion-Principle"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fprogramista-doswiadczony.pl%2fnie-solid-nie-05-dependency-inversion-principle%2f" style="border:0px"/></a></div></div>patrykkubielahttps://dotnetomaniak.pl/Users/I4X-XuobaEevrAcOddAMSg2019-04-04T06:27:54Zhttps://dotnetomaniak.pl/Nie-SOLID-nie-05-Dependency-Inversion-Principle11180Robert C. Martin (Uncle Bob) w swoim artykule nt. Dependency Inversion Principle, skondensowanej wersji rozdziału „DIP: The Dependency-Inversion Principle” ze swojej książki pt. Agile Software Development, Principles, Patterns and Practices, opisuje „zły” design aplikacji i wprowadza pojęcie „kruchości” aplikacji.
Mianowicie, kruchość aplikacji to m.in. tendencja aplikacji do psucia się w wielu miejscach, w momencie jednej małej zmiany w miejscu zupełnie nie powiązanym do miejsca gdzie zaszła zmiana. Tego typu „kruchość”, często jest powodem obniżenia wiarygodności w niezawodność zmian i poprawek. Użytkownicy i managerowie nie są w stanie potwierdzić jakości wykonania produktu. Projektanci natomiast, nie są w stanie przewidzieć re-użycia komponentów aplikacji w innych miejsach, ponieważ nie mają pewności jak one się zachowają.
Zazwyczaj w tego typu aplikacji, napisanie jej na nowo, wydaje się lepszym pomysłem niż jej poprawa. Głównie ze względu na koszty...https://programista-doswiadczony.pl/nie-solid-nie-05-dependency-inversion-principle/http://dotnetomaniak.pl/Data/Thumbnails/small_9GIrbMlYpEWisjIPA1Hg0Q.pnghttps://dotnetomaniak.pl/Nie-SOLID-nie-04-Interface-Segregation-PrincipleNie SOLID-nie #04: Interface Segregation Principle2019-02-27T09:27:54Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_FW7meefLUkKik5c1sn-1Tw.png"/></div><div>Dzisiaj, bez oficjalnej definicji. Jedynie wspomnę o tym, o czym – w kontekście Interface Segregation Principle – należy wspomnieć.
Zasadniczo ISP mówi o „rozczłonkowaniu” dużych, wielozadaniowych kontraktów i interfejsów na mniejsze, posiadające jedną konkretną odpowiedzialność. Dzięki czemu, każdy element który konsumuje taki interfejs, ma dostęp tylko do określonej funkcjonalnośći. Intencją ISP jest utrzymanie systemu luźnych powiązań między obiektami, ułatwienie konserwacji systemu, testowania, czy refaktoringu.
Reguła ta została sformułowana i użyta po raz pierwszy przez Roberta C. Martina, który zaproponował tego typu rozwiązanie pracując nad produktem dla Xeroxa. W skrócie – podczas pracy nad modyfikowaniem i utrzymaniem systemu dla nowej drukarki Xeroxa, „Uncle Bob” Martin zauważył, że nawet wprowadzenie małej zmiany jest to coraz trudniejsze. Powodem była klasa Bóg, job Bóg…(zwał jak zwał), która wykonywała...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Nie-SOLID-nie-04-Interface-Segregation-Principle"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fprogramista-doswiadczony.pl%2fnie-solid-nie-04-interface-segregation-principle%2f" style="border:0px"/></a></div></div>patrykkubielahttps://dotnetomaniak.pl/Users/I4X-XuobaEevrAcOddAMSg2019-02-28T06:36:29Zhttps://dotnetomaniak.pl/Nie-SOLID-nie-04-Interface-Segregation-Principle21370Dzisiaj, bez oficjalnej definicji. Jedynie wspomnę o tym, o czym – w kontekście Interface Segregation Principle – należy wspomnieć.
Zasadniczo ISP mówi o „rozczłonkowaniu” dużych, wielozadaniowych kontraktów i interfejsów na mniejsze, posiadające jedną konkretną odpowiedzialność. Dzięki czemu, każdy element który konsumuje taki interfejs, ma dostęp tylko do określonej funkcjonalnośći. Intencją ISP jest utrzymanie systemu luźnych powiązań między obiektami, ułatwienie konserwacji systemu, testowania, czy refaktoringu.
Reguła ta została sformułowana i użyta po raz pierwszy przez Roberta C. Martina, który zaproponował tego typu rozwiązanie pracując nad produktem dla Xeroxa. W skrócie – podczas pracy nad modyfikowaniem i utrzymaniem systemu dla nowej drukarki Xeroxa, „Uncle Bob” Martin zauważył, że nawet wprowadzenie małej zmiany jest to coraz trudniejsze. Powodem była klasa Bóg, job Bóg…(zwał jak zwał), która wykonywała...https://programista-doswiadczony.pl/nie-solid-nie-04-interface-segregation-principle/http://dotnetomaniak.pl/Data/Thumbnails/small_FW7meefLUkKik5c1sn-1Tw.pnghttps://dotnetomaniak.pl/Nie-SOLID-nie-03-Liskov-Substitution-PrincipleNie SOLID-nie #03: Liskov Substitution Principle2019-01-22T10:03:57Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_8_aDTvt32EuEiZKyhwXxwQ.png"/></div><div>Na początek, jak zwykle, odrobina teorii. Reguła Liskov brzmi:
Funkcje które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów.
Jak podaje Wikipedia, zasada ta została sformułowana po raz pierwszy przez Barbarę Liskov i Jannette Wing we wspólnej pracy pt. „A Behavioral Notion of Subtyping„, zaprezentowana przez Panią Liskov w przemówieniu pt. „Data Abstraction and Hierarchy„, a spopularyzowana i podana w obecnym brzmieniu przez Roberta C. Martina w artykule „Principles of Object Oriented Design” oraz książce „Agile Software Development: Principles, Patterns, and Practices”</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Nie-SOLID-nie-03-Liskov-Substitution-Principle"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fprogramista-doswiadczony.pl%2fnie-solid-nie-03-liskov-substitution-principle%2f" style="border:0px"/></a></div></div>patrykkubielahttps://dotnetomaniak.pl/Users/I4X-XuobaEevrAcOddAMSg2019-01-23T08:00:28Zhttps://dotnetomaniak.pl/Nie-SOLID-nie-03-Liskov-Substitution-Principle21340Na początek, jak zwykle, odrobina teorii. Reguła Liskov brzmi:
Funkcje które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów.
Jak podaje Wikipedia, zasada ta została sformułowana po raz pierwszy przez Barbarę Liskov i Jannette Wing we wspólnej pracy pt. „A Behavioral Notion of Subtyping„, zaprezentowana przez Panią Liskov w przemówieniu pt. „Data Abstraction and Hierarchy„, a spopularyzowana i podana w obecnym brzmieniu przez Roberta C. Martina w artykule „Principles of Object Oriented Design” oraz książce „Agile Software Development: Principles, Patterns, and Practices”https://programista-doswiadczony.pl/nie-solid-nie-03-liskov-substitution-principle/http://dotnetomaniak.pl/Data/Thumbnails/small_8_aDTvt32EuEiZKyhwXxwQ.pnghttps://dotnetomaniak.pl/LSP-czyli-nie-zadzieraj-z-kobietami-See-IT-SharpLSP, czyli nie zadzieraj z kobietami - See IT Sharp2019-01-22T08:46:11Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_Y1u-TVAeUEGhcTeUgQs41w.png"/></div><div>Okazuje się, że LSP można naruszyć na wiele sposobów, czasami bardzo trudnych do wyśledzenia, a sztampowe omówienia dostępne powszechnie pomijają najważniejsze aspekty literki L z SOLID’a.
Warto wspomnieć, że LSP pomaga nam również lepiej modelować biznesowy kontekst aplikacji, gdyż zmusza nas do odpowiedzi na pytania o relacje pomiędzy obiektami (mam tutaj na myśli głównie dwa ostatnie punkty: inwariant i zasadę historii).</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/LSP-czyli-nie-zadzieraj-z-kobietami-See-IT-Sharp"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fwww.seeitsharp.pl%2f2019%2f01%2flsp-czyli-nie-zadzieraj-z-kobietami%2f" style="border:0px"/></a></div></div>TomekShttps://dotnetomaniak.pl/Users/1I5iiyHpHEWTDy43PI7C4g2019-01-23T08:00:28Zhttps://dotnetomaniak.pl/LSP-czyli-nie-zadzieraj-z-kobietami-See-IT-Sharp51270Okazuje się, że LSP można naruszyć na wiele sposobów, czasami bardzo trudnych do wyśledzenia, a sztampowe omówienia dostępne powszechnie pomijają najważniejsze aspekty literki L z SOLID’a.
Warto wspomnieć, że LSP pomaga nam również lepiej modelować biznesowy kontekst aplikacji, gdyż zmusza nas do odpowiedzi na pytania o relacje pomiędzy obiektami (mam tutaj na myśli głównie dwa ostatnie punkty: inwariant i zasadę historii).https://www.seeitsharp.pl/2019/01/lsp-czyli-nie-zadzieraj-z-kobietami/http://dotnetomaniak.pl/Data/Thumbnails/small_Y1u-TVAeUEGhcTeUgQs41w.pnghttps://dotnetomaniak.pl/Nie-SOLID-nie-2-Open-Close-Principle-Nie SOLID-nie #2: Open Close Principle -2019-01-04T08:03:08Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_4ei5Nga4vE6sC0zf2jqX0g.png"/></div><div>Reguła Open Close Principle mówi o tym, że klasa powinna być otwarta na rozszerzenia i jednocześnie zamknięta na modyfikacje. Zgodnie z zasadą tego cyklu – „Nie SOLID-nie„, przedstawiam jak może wyglądać klasa napisana wbrew tej regule.
Przykład
Skoro ostatnim razem, w przypadku reguły SRP, posłużyłem się przykładową klasą MessageProcessor, tym razem posł...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Nie-SOLID-nie-2-Open-Close-Principle-"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fprogramista-doswiadczony.pl%2fnie-solid-nie-2-open-close-principle%2f" style="border:0px"/></a></div></div>patrykkubielahttps://dotnetomaniak.pl/Users/I4X-XuobaEevrAcOddAMSg2019-01-07T08:00:27Zhttps://dotnetomaniak.pl/Nie-SOLID-nie-2-Open-Close-Principle-21410Reguła Open Close Principle mówi o tym, że klasa powinna być otwarta na rozszerzenia i jednocześnie zamknięta na modyfikacje. Zgodnie z zasadą tego cyklu – „Nie SOLID-nie„, przedstawiam jak może wyglądać klasa napisana wbrew tej regule.
Przykład
Skoro ostatnim razem, w przypadku reguły SRP, posłużyłem się przykładową klasą MessageProcessor, tym razem posł...https://programista-doswiadczony.pl/nie-solid-nie-2-open-close-principle/http://dotnetomaniak.pl/Data/Thumbnails/small_4ei5Nga4vE6sC0zf2jqX0g.pnghttps://dotnetomaniak.pl/Nie-SOLID-nie-01-Single-Responsibility-Principle-Nie SOLID-nie #01: Single Responsibility Principle -2018-12-28T12:45:26Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_lstKTwqQGkOmSoRY7HG7fg.png"/></div><div>Wikipedia podaje, że SOLID to ukuty przez Roberta C. Martina mnemonik. Wystarczy jednak zapamiętać, że jest to zbiór zasad jakimi powinien się kierować programista, podczas pisania kodu. Zwłaszcza w paradygmacie programowania obiektowego.
Dużo się pokazuje jak na prawdę powinien wyglądać kod spełniający kryteria zawarte w poszczególnych regułach SOLIDa, natomiast niewiele się pokazuje przypadków niepoprawnego zastosowania tych reguł, lub nie zastosowania ich w ogóle.
Właśnie to będzie celem tego cyklu....</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Nie-SOLID-nie-01-Single-Responsibility-Principle-"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fprogramista-doswiadczony.pl%2fnie-solid-nie-01-single-responsibility-principle%2f" style="border:0px"/></a></div></div>patrykkubielahttps://dotnetomaniak.pl/Users/I4X-XuobaEevrAcOddAMSg2018-12-31T09:41:29Zhttps://dotnetomaniak.pl/Nie-SOLID-nie-01-Single-Responsibility-Principle-21850Wikipedia podaje, że SOLID to ukuty przez Roberta C. Martina mnemonik. Wystarczy jednak zapamiętać, że jest to zbiór zasad jakimi powinien się kierować programista, podczas pisania kodu. Zwłaszcza w paradygmacie programowania obiektowego.
Dużo się pokazuje jak na prawdę powinien wyglądać kod spełniający kryteria zawarte w poszczególnych regułach SOLIDa, natomiast niewiele się pokazuje przypadków niepoprawnego zastosowania tych reguł, lub nie zastosowania ich w ogóle.
Właśnie to będzie celem tego cyklu....https://programista-doswiadczony.pl/nie-solid-nie-01-single-responsibility-principle/http://dotnetomaniak.pl/Data/Thumbnails/small_lstKTwqQGkOmSoRY7HG7fg.pnghttps://dotnetomaniak.pl/Jak-zastapic-rozbudowany-switch-w-aplikacji-Blog-Daniela-PlawgoJak zastąpić rozbudowany switch w aplikacji - Blog Daniela Plawgo2018-12-12T05:42:11Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_zA5CaVDUvkWPn9yU6SseFQ.png"/></div><div>Dzisiejszy wpis jest zainspirowany kilkoma ostatnimi przypadkami, w których widziałem bardzo rozbudowane switche w aplikacji. Utrzymanie tego kodu zaczynało sprawiać programistom spore problemy. Zapewne wielokrotnie widziałeś lub widziałaś metody, w których znajdował się jeden wielki switch, gdzie każdy case zawierał następnie zupełnie inny kod niż pozostałe przypadki. Utrzymanie tego, a w szczególności dodanie nowych przypadków zaczyna być wyzwaniem i często ...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Jak-zastapic-rozbudowany-switch-w-aplikacji-Blog-Daniela-Plawgo"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fplawgo.pl%2f2018%2f12%2f11%2fjak-zastapic-rozbudowanego-switch-w-aplikacji%2f" style="border:0px"/></a></div></div>danielplawgohttps://dotnetomaniak.pl/Users/2gpSr8DDgU2Y9-iey0Z9mw2018-12-13T08:08:51Zhttps://dotnetomaniak.pl/Jak-zastapic-rozbudowany-switch-w-aplikacji-Blog-Daniela-Plawgo63730Dzisiejszy wpis jest zainspirowany kilkoma ostatnimi przypadkami, w których widziałem bardzo rozbudowane switche w aplikacji. Utrzymanie tego kodu zaczynało sprawiać programistom spore problemy. Zapewne wielokrotnie widziałeś lub widziałaś metody, w których znajdował się jeden wielki switch, gdzie każdy case zawierał następnie zupełnie inny kod niż pozostałe przypadki. Utrzymanie tego, a w szczególności dodanie nowych przypadków zaczyna być wyzwaniem i często ...https://plawgo.pl/2018/12/11/jak-zastapic-rozbudowanego-switch-w-aplikacji/http://dotnetomaniak.pl/Data/Thumbnails/small_zA5CaVDUvkWPn9yU6SseFQ.pnghttps://dotnetomaniak.pl/SOLID-przyklad-CSOLID - przykład C#2018-11-20T10:31:14Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_k_ROU09FcUaM2FUhcEg3lA.png"/></div><div>SOLID po raz setny - tym razem z przykładem oraz omówieniem osobno każdej z zasady.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-przyklad-C"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fdotnetmaster.pl%2flibrary%2fshowentry%2f8" style="border:0px"/></a></div></div>marcin90https://dotnetomaniak.pl/Users/WL31uHb8-0yCdYg_s5UUeQ2018-11-21T06:36:22Zhttps://dotnetomaniak.pl/SOLID-przyklad-C13130SOLID po raz setny - tym razem z przykładem oraz omówieniem osobno każdej z zasady.http://dotnetmaster.pl/library/showentry/8http://dotnetomaniak.pl/Data/Thumbnails/small_k_ROU09FcUaM2FUhcEg3lA.pnghttps://dotnetomaniak.pl/O-co-chodzi-z-odwroceniem-zaleznosci-programmer-girlO co chodzi z odwróceniem zależności – programmer-girl2018-06-10T09:06:10Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_f7e570jk-UOxkl2bTOmrMQ.png"/></div><div>Jestem aktualnie w trakcie lektury „Czysta architektura” Wujka Boba. Natknęłam się w książce na część wyjaśniającą odwrócenie zależności (ostatnią z zasad SOLID) w całkiem przystępny sposób.Jak brzmi ta zasada i jak ją wytłumaczyć?</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/O-co-chodzi-z-odwroceniem-zaleznosci-programmer-girl"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fprogrammer-girl.com%2f2018%2f06%2f03%2fo-co-chodzi-z-odwroceniem-zaleznosci%2f" style="border:0px"/></a></div></div>Weronika Mularczykhttps://dotnetomaniak.pl/Users/O1ApavoJX0SfwkW8t4YbUQ2018-06-18T13:18:57Zhttps://dotnetomaniak.pl/O-co-chodzi-z-odwroceniem-zaleznosci-programmer-girl11530Jestem aktualnie w trakcie lektury „Czysta architektura” Wujka Boba. Natknęłam się w książce na część wyjaśniającą odwrócenie zależności (ostatnią z zasad SOLID) w całkiem przystępny sposób.Jak brzmi ta zasada i jak ją wytłumaczyć?https://programmer-girl.com/2018/06/03/o-co-chodzi-z-odwroceniem-zaleznosci/http://dotnetomaniak.pl/Data/Thumbnails/small_f7e570jk-UOxkl2bTOmrMQ.pnghttps://dotnetomaniak.pl/SOLID-5-ZASADA-ODWRACANIA-ZALEZNOSCI-Mateusz-SzopaSOLID #5 ZASADA ODWRACANIA ZALEŻNOŚCI | Mateusz Szopa2017-05-18T18:02:34Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_ZP3RHE_XOEuKx3i_Nm79DA.png"/></div><div>Ostatni wpis z serii dotyczącej SOLID czyli core zasady jeżeli chodzi o programowanie obiektowe już na blogu. Zapraszam!</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-5-ZASADA-ODWRACANIA-ZALEZNOSCI-Mateusz-Szopa"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fblog.mateusz-szopa.pl%2f2017%2f05%2f18%2fsolid-5-zasada-odwracania-zaleznosci%2f" style="border:0px"/></a></div></div>MateuszSzopahttps://dotnetomaniak.pl/Users/hIXvN3Ko_UudaCjP1s4V2w2017-05-21T15:26:33Zhttps://dotnetomaniak.pl/SOLID-5-ZASADA-ODWRACANIA-ZALEZNOSCI-Mateusz-Szopa11270Ostatni wpis z serii dotyczącej SOLID czyli core zasady jeżeli chodzi o programowanie obiektowe już na blogu. Zapraszam!http://blog.mateusz-szopa.pl/2017/05/18/solid-5-zasada-odwracania-zaleznosci/http://dotnetomaniak.pl/Data/Thumbnails/small_ZP3RHE_XOEuKx3i_Nm79DA.pnghttps://dotnetomaniak.pl/SOLID-4-ZASADA-SEGREGACJI-INTERFEJSOW-Mateusz-SzopaSOLID #4 – ZASADA SEGREGACJI INTERFEJSÓW | Mateusz Szopa2017-05-03T11:10:19Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_QQu067npfkGv6ewyApCnpQ.png"/></div><div>Zapraszam do kolejnego wpisu z cyklu wpisów skupiających się na zasadzie SOLID czyli core zasadzie jeżeli chodzi o programowanie obiektowe.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-4-ZASADA-SEGREGACJI-INTERFEJSOW-Mateusz-Szopa"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fblog.mateusz-szopa.pl%2f2017%2f05%2f03%2fsolid-4-zasada-segregacji-interfejsow%2f" style="border:0px"/></a></div></div>MateuszSzopahttps://dotnetomaniak.pl/Users/hIXvN3Ko_UudaCjP1s4V2w2017-05-06T13:22:54Zhttps://dotnetomaniak.pl/SOLID-4-ZASADA-SEGREGACJI-INTERFEJSOW-Mateusz-Szopa11210Zapraszam do kolejnego wpisu z cyklu wpisów skupiających się na zasadzie SOLID czyli core zasadzie jeżeli chodzi o programowanie obiektowe.http://blog.mateusz-szopa.pl/2017/05/03/solid-4-zasada-segregacji-interfejsow/http://dotnetomaniak.pl/Data/Thumbnails/small_QQu067npfkGv6ewyApCnpQ.pnghttps://dotnetomaniak.pl/SOLID-4-ISP-Programista-bycSOLID #4 – ISP - Programistą być2017-04-20T20:27:16Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_xAn5X5rJzUq4rxFpWX1GSA.png"/></div><div>Już dawno nie było wpisu o mnemoniku SOLID. Zapominalskich odsyłam do poprzednich wpisów (linki na dole strony). Dzisiaj przyszedł czas na przedstawienie czwartej zasady – zasady segregacji interfejsów.
Co to dokładnie znaczy? Zapraszam do krótkiej lecz treściwej lektury.
Podstawą rozważań na temat tej zasady są interfejsy. Poprzez interfejs możemy rozumieć klasę abstrakcyjną z metodami abstrakcyjnymi lub zwykły interfejs jako byt programistyczny. W niniejszym artykule będę posługiwał si...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-4-ISP-Programista-byc"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fprogramistabyc.pl%2fsolid-4-isp%2f" style="border:0px"/></a></div></div>Krzysiek Baranowskihttps://dotnetomaniak.pl/Users/c02nJjwPNUGt1cah-6BbHQ2017-04-23T20:56:33Zhttps://dotnetomaniak.pl/SOLID-4-ISP-Programista-byc11180Już dawno nie było wpisu o mnemoniku SOLID. Zapominalskich odsyłam do poprzednich wpisów (linki na dole strony). Dzisiaj przyszedł czas na przedstawienie czwartej zasady – zasady segregacji interfejsów.
Co to dokładnie znaczy? Zapraszam do krótkiej lecz treściwej lektury.
Podstawą rozważań na temat tej zasady są interfejsy. Poprzez interfejs możemy rozumieć klasę abstrakcyjną z metodami abstrakcyjnymi lub zwykły interfejs jako byt programistyczny. W niniejszym artykule będę posługiwał si...http://programistabyc.pl/solid-4-isp/http://dotnetomaniak.pl/Data/Thumbnails/small_xAn5X5rJzUq4rxFpWX1GSA.pnghttps://dotnetomaniak.pl/SOLID-2-ZASADA-OTWARTE-ZAMKNIETE-Mateusz-SzopaSOLID #2 – ZASADA OTWARTE-ZAMKNIĘTE | Mateusz Szopa2017-04-09T18:14:19Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_nxt2pPciJkyC4XjcPaQCxg.png"/></div><div>Zapraszam do kolejnego wpisu z cyklu wpisów skupiających się na zasadzie SOLID czyli core zasadzie jeżeli chodzi o programowanie obiektowe.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-2-ZASADA-OTWARTE-ZAMKNIETE-Mateusz-Szopa"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fblog.mateusz-szopa.pl%2f2017%2f04%2f09%2fsolid-2-zasada-otwarte-zamkniete%2f" style="border:0px"/></a></div></div>MateuszSzopahttps://dotnetomaniak.pl/Users/hIXvN3Ko_UudaCjP1s4V2w2017-04-11T20:09:05Zhttps://dotnetomaniak.pl/SOLID-2-ZASADA-OTWARTE-ZAMKNIETE-Mateusz-Szopa11290Zapraszam do kolejnego wpisu z cyklu wpisów skupiających się na zasadzie SOLID czyli core zasadzie jeżeli chodzi o programowanie obiektowe.http://blog.mateusz-szopa.pl/2017/04/09/solid-2-zasada-otwarte-zamkniete/http://dotnetomaniak.pl/Data/Thumbnails/small_nxt2pPciJkyC4XjcPaQCxg.pnghttps://dotnetomaniak.pl/SOLID-czyli-dobre-praktyki-programowania-obiektowego-Mateusz-SzopaSOLID czyli dobre praktyki programowania obiektowego | Mateusz Szopa2017-04-02T17:07:41Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_Uw6lKg-II0SeI7lunycw0A.png"/></div><div>Zapraszam do cyklu wpisów skupiających się na zasadzie SOLID czyli core zasadzie jeżeli chodzi o programowanie obiektowe.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-czyli-dobre-praktyki-programowania-obiektowego-Mateusz-Szopa"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fblog.mateusz-szopa.pl%2f2017%2f04%2f02%2fsolid-czyli-dobre-praktyki-programowania-obiektowego%2f" style="border:0px"/></a></div></div>MateuszSzopahttps://dotnetomaniak.pl/Users/hIXvN3Ko_UudaCjP1s4V2w2017-04-05T15:08:22Zhttps://dotnetomaniak.pl/SOLID-czyli-dobre-praktyki-programowania-obiektowego-Mateusz-Szopa22160Zapraszam do cyklu wpisów skupiających się na zasadzie SOLID czyli core zasadzie jeżeli chodzi o programowanie obiektowe.http://blog.mateusz-szopa.pl/2017/04/02/solid-czyli-dobre-praktyki-programowania-obiektowego/http://dotnetomaniak.pl/Data/Thumbnails/small_Uw6lKg-II0SeI7lunycw0A.pnghttps://dotnetomaniak.pl/SOLID-3-Zasada-postawienia-Liskov-Solidny-programista-blog-o-programowaniuSOLID #3 – Zasada postawienia Liskov – Solidny programista | blog o programowaniu2017-03-13T19:33:05Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_hciGHogN206U9AHmMMT2Aw.png"/></div><div>Dziś kolejny wpis z serii SOLID. W poprzednim wpisie opisałem zasadę otwarte-zamknięte. Idąc po kolei – dziś opiszę literkę I.
Liskov Substitution Principle (LSP) – można przetłumaczyć jako zasadę podstawienia Liskov.
W największym skrócie zasada ta mówi, że korzystanie z funkcji klas bazowych musi być także dostępne w przypadku podstawienia instancji klas pochodnych.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-3-Zasada-postawienia-Liskov-Solidny-programista-blog-o-programowaniu"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fsolidev.pl%2f2017%2f03%2f13%2fsolid-3-zasada-postawienia-liskov%2f" style="border:0px"/></a></div></div>ogrod87https://dotnetomaniak.pl/Users/9jAwmPUcHUe_EBWqGBGmkw2017-03-16T17:51:41Zhttps://dotnetomaniak.pl/SOLID-3-Zasada-postawienia-Liskov-Solidny-programista-blog-o-programowaniu12280Dziś kolejny wpis z serii SOLID. W poprzednim wpisie opisałem zasadę otwarte-zamknięte. Idąc po kolei – dziś opiszę literkę I.
Liskov Substitution Principle (LSP) – można przetłumaczyć jako zasadę podstawienia Liskov.
W największym skrócie zasada ta mówi, że korzystanie z funkcji klas bazowych musi być także dostępne w przypadku podstawienia instancji klas pochodnych.http://solidev.pl/2017/03/13/solid-3-zasada-postawienia-liskov/http://dotnetomaniak.pl/Data/Thumbnails/small_hciGHogN206U9AHmMMT2Aw.pnghttps://dotnetomaniak.pl/SOLID-2-Zasada-otwarte-zamkniete-Solidny-programista-blog-o-programowaniuSOLID #2 – Zasada otwarte-zamknięte – Solidny programista | blog o programowaniu2017-02-27T20:25:29Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_5TNCdZwukEeTWb0CGE1o0g.png"/></div><div>W poprzednim wpisie opisywałem zasadę pojedynczej odpowiedzialności. Kontynuując – dziś opiszę drugą literkę w mnemoniku SOLID – literkę O.
Open-Closed Principle (OCP) – można dosłownie przetłumaczyć jako zasadę otwarte-zamknięte.
W największym skrócie zasada ta mówi, aby kod tworzyć taki, by był zamknięty na modyfikacje, ale otwarty na nowe rozwiązania.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-2-Zasada-otwarte-zamkniete-Solidny-programista-blog-o-programowaniu"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fsolidev.pl%2f2017%2f02%2f27%2fsolid-2-zasada-otwarte-zamkniete%2f" style="border:0px"/></a></div></div>ogrod87https://dotnetomaniak.pl/Users/9jAwmPUcHUe_EBWqGBGmkw2017-03-02T22:22:08Zhttps://dotnetomaniak.pl/SOLID-2-Zasada-otwarte-zamkniete-Solidny-programista-blog-o-programowaniu22280W poprzednim wpisie opisywałem zasadę pojedynczej odpowiedzialności. Kontynuując – dziś opiszę drugą literkę w mnemoniku SOLID – literkę O.
Open-Closed Principle (OCP) – można dosłownie przetłumaczyć jako zasadę otwarte-zamknięte.
W największym skrócie zasada ta mówi, aby kod tworzyć taki, by był zamknięty na modyfikacje, ale otwarty na nowe rozwiązania.http://solidev.pl/2017/02/27/solid-2-zasada-otwarte-zamkniete/http://dotnetomaniak.pl/Data/Thumbnails/small_5TNCdZwukEeTWb0CGE1o0g.pnghttps://dotnetomaniak.pl/SOLID-DRY-KISS-maciejjedrzejewskiSOLID, DRY, KISS | maciejjędrzejewski2016-12-17T22:52:35Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_moaOLtIar02dcXm5NmZA2A.png"/></div><div>~ MJ
Jest w życiu wiele zasad, reguł, którymi się kierujemy. Zazwyczaj nie podążamy jednak ślepo za nimi. Wyciągamy z nich to co jest nam w konkretnej sytuacji najbardziej potrzebne. W programowaniu również.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/SOLID-DRY-KISS-maciejjedrzejewski"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=https%3a%2f%2fmjedrzejewski.wordpress.com%2f2016%2f12%2f17%2fsolid-dry-kiss%2f" style="border:0px"/></a></div></div>jedmachttps://dotnetomaniak.pl/Users/7KyvFXm6jEKfK_iMgGl9vg2016-12-26T07:31:21Zhttps://dotnetomaniak.pl/SOLID-DRY-KISS-maciejjedrzejewski22460~ MJ
Jest w życiu wiele zasad, reguł, którymi się kierujemy. Zazwyczaj nie podążamy jednak ślepo za nimi. Wyciągamy z nich to co jest nam w konkretnej sytuacji najbardziej potrzebne. W programowaniu również.https://mjedrzejewski.wordpress.com/2016/12/17/solid-dry-kiss/http://dotnetomaniak.pl/Data/Thumbnails/small_moaOLtIar02dcXm5NmZA2A.pnghttps://dotnetomaniak.pl/Strategy-design-pattern-real-life-example-PoznajProgramowanieplStrategy design pattern - real life example - PoznajProgramowanie.pl2016-12-01T20:29:39Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_Z4tZWha1OkCPA14OzJiIIg.png"/></div><div>Today I’ll show you a quite nice example of the Strategy pattern from a real project I was working on some time ago.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Strategy-design-pattern-real-life-example-PoznajProgramowaniepl"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fpoznajprogramowanie.pl%2fstrategy-design-pattern-real-life-example%2f" style="border:0px"/></a></div></div>AdrianBystrekhttps://dotnetomaniak.pl/Users/OVypLamzHEejQV0ElEVgOA2016-12-11T12:06:05Zhttps://dotnetomaniak.pl/Strategy-design-pattern-real-life-example-PoznajProgramowaniepl21960Today I’ll show you a quite nice example of the Strategy pattern from a real project I was working on some time ago.http://poznajprogramowanie.pl/strategy-design-pattern-real-life-example/http://dotnetomaniak.pl/Data/Thumbnails/small_Z4tZWha1OkCPA14OzJiIIg.pnghttps://dotnetomaniak.pl/YAGNI-a-dobry-SOLIDny-elastyczny-kod-O-programowaniuYAGNI a „dobry”, SOLIDny, elastyczny kod. – O programowaniu2016-04-24T13:01:11Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_q8z7sePmEE-vRBcKj1OzJA.png"/></div><div>Czemu o tym piszę? Ostatnio czytając internety i sięgając pamięcią do moich doświadczeń doszedłem do wniosku, że czasem ktoś usprawiedliwia przez YAGNI pisanie mniej elastycznego kodu.
Nawet, jeśli sam rozumie dlaczego pisanie takiego kodu jest dobre.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/YAGNI-a-dobry-SOLIDny-elastyczny-kod-O-programowaniu"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2foprogramowaniu.pl%2fyagni-a-dobry-solidny-elastyczny-kod%2f" style="border:0px"/></a></div></div>AreQrmhttps://dotnetomaniak.pl/Users/dIge0UPZfE-vAlqnbhpVqg2016-05-03T08:34:27Zhttps://dotnetomaniak.pl/YAGNI-a-dobry-SOLIDny-elastyczny-kod-O-programowaniu32860Czemu o tym piszę? Ostatnio czytając internety i sięgając pamięcią do moich doświadczeń doszedłem do wniosku, że czasem ktoś usprawiedliwia przez YAGNI pisanie mniej elastycznego kodu.
Nawet, jeśli sam rozumie dlaczego pisanie takiego kodu jest dobre.http://oprogramowaniu.pl/yagni-a-dobry-solidny-elastyczny-kod/http://dotnetomaniak.pl/Data/Thumbnails/small_q8z7sePmEE-vRBcKj1OzJA.png