Рет қаралды 2,525
Wielkie O z SOLIDa to nic innego jak reguła wskazująca, że nasze komponenty powinny być zamknięte na modyfikacje, ale otwarte na rozszerzenia.
Jak zatem zmienić oryginalne zachowanie wybranego obiektu, bez modyfikacji jego wewnętrznego kodu? Czy można w relatywnie prosty sposób zaimplementować w nim dodatkowe operacje, nie tylko nie zmieniając istniejącego kodu, ale również pozbywając się potencjalnego "wycieku" pomiędzy warstwami (np. przenikania szczegółów implementacyjnych infrastruktury do logiki aplikacyjnej)?
Zobaczmy zatem w praktyce, czym jest wzorzec dekoratora i jak pozwoli na spełnienie zasady Open-Closed.
Timecodes:
00:00:00 - Intro
00:05:46 - Omówienie problemu
00:08:51 - Pomysł na pierwszy dekorator
00:10:01 - Rejestracja w kontenerze IoC
00:11:40 - Pierwszy dekorator
00:17:22 - Drugi dekorator
00:21:26 - Przetestowanie rozwiązania
00:24:03 - Scrutor
00:32:23 - Outro
Zapraszamy również na:
⚡️ Discord: devmentors.io/discord-pl
⚡️ Twitter: / dev_mentors_pl
⚡️ Instagram: / devmentors_pl