Zakończyłem mój mini projekt: Poznaj zasady SOLID i OOP. W tym wpisie zbieram je wszystkie:
Spis treści
Single responsibility principle – Zasada jednej odpowiedzialności
Każda klasa powinna mieć tylko jedną odpowiedzialność (czyli tylko jeden powód do modyfikacji klasy) – jeden cel istnienia.
Open/closed principle – Zasada otwarte-zamknięte
Wszystkie klasy powinny być otwarte na rozszerzenia, ale zamknięte na modyfikacje.
Liskov substitution principle – Zasada podstawienia Liskov
Oprogramowanie powinno dobrze działać, gdy w miejsce klasy bazowej podstawimy jej którąkolwiek klasę potomną.
Interface segregation principle – Zasada segregacji interfejsów
Wiele dedykowanych i małych interfejsów jest lepsze niż jeden ogólny.
Dependency inversion principle – Zasada odwróconej zależności
Wysokopoziomowe moduły nie powinny zależeć od modułów niskopoziomowych, lecz zależność powinna wynikać z abstrakcji.
Podstawowe założenia programowania obiektowego
Hermetyzacja
Hermetyzacja polega na ukryciu szczegółów implementacji. Obiekty przedstawiają publiczny interfejs, który mogą wywoływać inne obiekty. Obiekt może zmieniać tylko swój stan. Nikt inny nie może tego robić.
Dziedziczenie
Mechanizm dający możliwość tworzenia wyspecjalizowanych obiektów na podstawie obiektów ogólniejszych. Pozwala to współdzielić funkcjonalności. Obiekt wyspecjalizowany może wykorzystywać część definicji obiektu ogólniejszego i rozszerzać go lub zmieniać.
Polimorfizm
Mechanizm umożliwiający traktowanie różnych obiektów w jeden sposób dziedziczących tę samą klasę.
Abstrakcja
Obiekty są modelami abstrakcyjnych bytów, które wykonują powierzone im zadania bez zdradzania, jak te działania są realizowane. Przedstawiają one uproszczenie danego zagadnienia.
KISS — Keep it simple, stupid — Bez udziwnień zapisu, idioto (BUZI)
Twórz rozwiązanie w sposób jak najprostszy.
Lod — Law of Demeter, czyli Prawo Demeter (Zasada minimalnej wiedzy / Reguła ograniczenia interakcji)
Rozmawiaj tylko z bliskimi przyjaciółmi.
DRY — Don’t repeat yourself — Nie powtarzaj się
Nie powtarzaj tego samego rozwiązania.
SLAP — Single Level of Abstraction Principle — Pojedynczy poziom abstrakcji
Wszystkie linie kodu w metodzie powinny mieć ten sam poziom abstrakcji. Nie można mieszać niskopoziomowych i wysokopoziomowych detali w jednej metodzie.
Composition Over Inheritance — Kompozycja ponad dziedziczeniem
Lepiej korzystać jest z kompozycji (klasa A używa klasy B) zamiast dziedziczenia po klasie.
Encapsulate what may change — Ukrywaj zmieniające się rzeczy
Ukrywaj zmieniające się rzeczy pod stabilnym interfejsem.
Wszystkie posty związane z mini projektem: Poznaj zasady SOLID i OOP:
- Początek mini projektu: Poznaj zasady SOLID i OOP
- SOLID
- S jak Single responsibility principle, czyli zasada jednej odpowiedzialności
- O jak Open-closed principle, czyli zasada otwarte/zamknięte
- L jak Liskov Substitution Principle, czyli zasada podstawień Barbary Liskov
- I jak Interface segregation principle, czyli Zasada segregacji interfejsów
- D jak Dependency Inversion Principle, czyli Zasada odwrócenia zależności
- CS jak Ćwiczenia Single responsibility principle, czyli zasada jednej odpowiedzialności
- CO jak Ćwiczenia Open/closed principle, czyli Zasada otwarte-zamknięte
- CL jak Ćwiczenia Liskov Substitution Principle, czyli zasada podstawień Barbary Liskov
- CI jak Ćwiczenia Interface segregation principle, czyli Zasady segregacji interfejsów
- CI jak Ćwiczenia Dependency Inversion Principle, czyli Zasada odwrócenia zależności
- Ćwiczenia z SOLID
- Podsumowanie połowy projektu: Poznaj zasady SOLID i OOP
- Ćwiczenia z SOLID — Kata
- OOP — Object Oriented Programming, czyli programowanie obiektowe
- OOP — Myślenie obiektowe
- OOP — Object Oriented Programming, czyli programowanie obiektowe — Modelowanie dziedziny
- KISS — Keep it simple, stupid, czyli Bez udziwnień zapisu, idioto (BUZI)
- Lod — Law of Demeter, czyli Prawo Demeter
- DRY — Don’t repeat yourself, czyli Nie powtarzaj się
- SLAP — Single Level of Abstraction Principle, czyli Pojedynczy poziom abstrakcji
- Composition Over Inheritance, czyli Kompozycja ponad dziedziczeniem
- Encapsulate what changes, czyli Ukrywaj zmieniające się rzeczy
- Podsumowanie projektu: Poznaj zasady SOLID i OOP
- Podsumowanie zasad SOLID i OOP
- Mini kurs: Poznaj zasady SOLID i OOP – Zapisz się!
- Praca cząstkowa w Metodzie Kanban
Źródła
Obrazek nagłówka
Obrazki
- https://www.pexels.com/photo/selective-focus-photography-of-black-cassette-tape-2071936/
- https://www.pexels.com/photo/ball-ball-shaped-blur-color-235615/