SYSTEM OD NOWA? “To stoi na jakimś archaicznym Glassfish’u, cały soap, logowanie, deployment wszystko zrobione na natywnych rozwiązaniach Glassfish. Dostęp do bazy nawet nie jest przez Hibernate tylko jest jakiś kastomizowany Hades." “Ta logika biznesowa jest już nie na czasie. Obecnie biznes rządzi się już innymi prawami.” vs.
istnieć jeden powód do zmiany w klasie, na przykład: ▸ Zmienia się flow obsługi przypadku użycia ▸ Zmienia się sposób obliczenia opłaty za nocne ładowanie ▸ Zmieniają się wymaganie dotyczące wydajności bazy danych
▸ Tworzymy klasy / komponenty które są zamknięte na modyfikacje… ale są otwarte na rozszerzenia ▸ Otwartość na rozszerzenia - możliwość dodawania nowej funkcjonalności bez zmian w klasach / komponentach zamkniętych na modyfikacje
Moduły wysokiego poziomu nie powinny zależeć od modułów niskiego poziomu ▸ Abstrakcje nie powinny zależeć od detali - to detale powinny zależeć od abstrakcji