S.O.L.I.D.ne programowanie – część 0, czyli wstęp
Krzysiek Jelski natchnął mnie do napisania serii postów o zasadach programowania obiektowego. Występują one pod nazwą S.O.L.I.D., która to nazwa pochodzi od pierwszych liter tych zasad:
- Single Responsibility Principle
- Open-Close Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
Ten wpis będzie tylko wstępem w którym omówię czym są te zasady, skąd się wzięły i dlaczego są ważne.
OOP i programiści
Jeżeli zapytamy statystycznego programistę z czym kojarzy mu się dobry kod OO to najprawdopodobniej będzie mówił o wzorcach projektowych. Co poniektórzy wspomną o zasadach projektowania, enkapsulacji i hermetyzacji, dziedziczeniu, interfejsach. Niewielu wspomni o zasadach S.O.L.I.D.
Nic w tym dziwnego, bo zasady te nie są sformalizowane tak jak wzorce. Dobrze określił je Krzysiek na spotkaniu mówiąc, że są raczej przysłowiami. Ja bym raczej nazwał je powiedzeniami informatyków. Każda z tych zasad odnosi się do jakiegoś bardzo ogólnego zagadnienia czy to projektowego, czy to architektonicznego czy też funkcjonalnego. Zazwyczaj do wszystkiego po trochu.
Jako, że nie ma tu formalizacji więc nie można mówić o miejscach i sposobach stosowania czy problemach, które można rozwiązać. Jeżeli jednak przyjrzymy się wzorcom projektowym, to dojdziemy do wniosku, że wszystkie one zawierają w sobie te nieformalne zasady.
Plan pracy
Przez kolejne dni będę omawiał poszczególne zasady. Jedna zasada na jeden wpis.









February 26th, 2009 at 00:29
Single nie singiel
February 26th, 2009 at 08:31
Dzieki
February 26th, 2009 at 14:07
[...] S.O.L.I.D.ne programowanie – część 0, czyli wstęp [...]
March 20th, 2009 at 23:28
[...] S.O.L.I.D.ne programowanie – część 0, czyli wstęp S.O.L.I.D.ne programowanie – część 1, czyli monogamia [...]
March 28th, 2009 at 20:01
[...] S.O.L.I.D.ne programowanie – część 0, czyli wstęp S.O.L.I.D.ne programowanie – część 1, czyli monogamia S.O.L.I.D.ne programowanie – część 2, czyli spoufalamy się [...]