Podsumowanie zasad SOLID i OOP

przez Karol Bocian | 1 marca, 2020

Zakończyłem mój mini projekt: Poznaj zasady SOLID i OOP. W tym wpisie zbieram je wszystkie:

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:

Źródła

Obrazek nagłówka

Obrazki

Kategoria: IT Projekt Poznaj zasady SOLID i OOP Tagi: it, OOP, programowanie, SOLID

O Karol Bocian

Programowanie i świat agentów programowalnych, który poznał na Wydziale Matematyki i Nauk Informacyjnych, wciągnął go w przemysł IT. W trakcie swojej praktyki zawodowej Karol zrozumiał, że nie ważne co się robi i kim się jest, ale wiedza z zarządzania przydaje się wszędzie. Rozpoczął studia na kierunku Zarządzanie i Inżyniera Produkcji. W przypadku Karola zarządzanie to nie tylko teoria czy praca, ale prawie każdy element jego życia, to jego pasja.