odwrocony_dom

Zasady SOLID – Zasada odwracania zależności (DIP – Dependency Inversion Principle)

To już ostatni artykuł z serii o zasadach SOLID. Litera „D” w tym skrócie oznacza Dependency Inversion Principle (DIP), czyli Zasadę odwracania zależności. O co chodzi z tym odwracaniem? To pierwsza część tej reguły. Druga natomiast mówi nam, że: Mówiąc inaczej: tworzone przez nas systemy powinniśmy odwoływać do abstrakcji (przy pomocy interfejsów bądź Dowiedz się więcej…

kosze_na_smieci

Zasady SOLID — Zasada segregacji interfejsów (ISP – Interface Segregation Principle)

W kolejnym, przedostatnim artykule z serii o zasadach SOLID przedstawiam Wam Zasadę segregacji interfejsów (Interface Segregation Principle – ISP). Tę regułę można streścić w następujących słowach: Innymi słowy: lepiej posiadać klasę implementującą wiele interfejsów niż taką, która implementuje jeden, większy interfejs z wieloma deklaracjami metod. Inna definicja ISP mówi nam o Dowiedz się więcej…

mona-lisa

Zasady SOLID — Zasada podstawienia Liskov (LSP — Liskov Substitution Principle)

Pora na kolejny – trzeci już – artykuł o zasadach SOLID. Pod trzecią literą tego skrótu kryje się Liskov Substitution Principle (LSP), czyli Zasada podstawienia Liskov. Reguła ta została po raz pierwszy sformułowana przez Barbarę Liskov, amerykańską programistkę, a brzmi ona: Jest również prostsza i myślę, że o wiele bardziej przystępna definicja: Dowiedz się więcej…

kłódka

Zasady SOLID — Zasada otwarte/zamknięte (OCP — Open/Closed Principle)

W kolejnym artykule dotyczącym zasad SOLID zajmę się drugą regułą z tego zestawu – Open/Closed Principle (OCP), czyli Zasadą otwarte/zamknięte. Motto tego podejścia brzmi następująco: Początkowo ta definicja może wydawać się trochę niejasna i nielogiczna. Ktoś mógłby zapytać: „Niby jak mam rozbudować coś, co jest zamknięte na modyfikację?”. Otóż na to Dowiedz się więcej…

scyzoryk

Zasady SOLID — Zasada pojedynczej odpowiedzialności (SRP – Single Responsibility Principle)

Oto pierwszy artykuł poświęcony zasadom SOLID w programowaniu obiektowym (można je również odnieść do programowania np. strukturalnego). Na początek zajmę się zasadą, która kryje się pod pierwszą literą akronimu SOLID. W skrócie tym „S” oznacza Single Responsibility Principle (SRP), czyli Zasadę Pojedynczej Odpowiedzialności. Podstawą tego podejścia jest to, że każda klasa (lub moduł) Dowiedz się więcej…

Zasady SOLID w programowaniu — wprowadzenie

Wyobraź sobie, że piszesz mniej lub bardziej rozbudowany program wykorzystując paradygmat obiektowy. Twoja aplikacja powstaje przy użyciu wielu klas i zależności. W którymś momencie pojawia się błąd lub chcesz po prostu rozbudować swoje dzieło o nowe funkcjonalności. Okazuje się, że w obu przypadkach, aby dokonać zmian, musisz poświęcić sporą ilość Dowiedz się więcej…

tdd z ludzikiem

Test Driven Development (TDD) — czym jest i jakie korzyści wynikają z zastosowania tej techniki?

Pisząc programy nie sposób natknąć się na błędy. Najgorzej, gdy wystąpią w funkcjonalności X po tym, jak zaczniemy pracę nad funkcjonalnością Y. No i tu zaczęły się schody: nie dość, że mamy do wykonania feature Y, to jeszcze musimy naprawić X! Czasem bywa również tak, iż programista przez swoje roztargnienie Dowiedz się więcej…

Wzorce projektowe — wzorzec Builder (Budowniczy)

W tym artykule — kolejnym z serii o wzorcach projektowych — zajmę się wzorcem należącym do rodziny wzorców kreacyjnych o nazwie Builder lub, jak kto woli, Budowniczy. Czym jest wzorzec Budowniczy? Rzućmy okiem na skróconą definicję. Builder wyodrębnia kod konstrukcyjny obiektu z jego klasy i umieszcza w oddzielnych obiektach określanych mianem budowniczych. Konstrukcja Dowiedz się więcej…

Wzorce projektowe — wzorzec Metoda Szablonowa

Przedstawiam Wam kolejny artykuł o wzorcach projektowych, w którym tym razem zajmiemy się wzorcem Metoda Szablonowa (ang. Template Method). Oczywiście zacznę standardowo od definicji : W skrócie: korzystając ze wzorca Metoda Szablonowa definiuje się kolejne kroki danego algorytmu pozwalając klasom podrzędnym na dostarczanie implementacji dla jednego lub więcej z nich. Rola tego wzorca polega Dowiedz się więcej…

Wzorce projektowe — wzorzec Fabryka Abstrakcyjna

Przedstawiam Wam serię artykułów poświęconych wzorcom projektowym. W pierwszym z nich, jak w tytule, opiszę na prostym przykładzie wzorzec Fabryka Abstrakcyjna. Rzućmy okiem na definicję: Co to oznacza w praktyce? Otóż pisząc kod, który wykorzystuje interfejs, mamy możliwość odseparowania kodu naszego programu (klienta) od fabryki tworzącej odpowiednie produkty. Dzięki takiemu rozwiązaniu możemy Dowiedz się więcej…