Obecnie uczę się o wzorach projektowych.
Myślę, że większość ludzi zgodzi się, że te wzorce są świetnymi narzędziami, ale powinny być stosowane z umiarem, a nie jako odpowiedź na wszystko. Nadmierne ich użycie nadmiernie skomplikowałoby aplikację, przynosząc niewielkie korzyści. Wzory powinny być stosowane tylko tam, gdzie mogą być najlepszym rozwiązaniem lub pomóc w stworzeniu dobrego rozwiązania (zgadzasz się?).
Mając to na uwadze:
Książka, którą czytam (Head First Design Patterns) często podkreśla znaczenie luźnego łączenia . To luźne sprzężenie uzyskuje się zgodnie z następującymi zasadami, takimi jak „program do interfejsu, a nie implementacja” i „hermetyzuj to, co różne”.
Zasadniczo większość wzorców, których nauczyłem się do tej pory, istnieje głównie po to, aby umożliwić swobodne łączenie projektów, a tym samym większą elastyczność.
Rozumiem znaczenie i zalety luźnego sprzężenia.
Ale moje pytanie brzmi: ile wysiłku należy zainwestować w tworzenie luźno powiązanych, elastycznych projektów?
Ci, którzy sprzeciwiają się wzorcom projektowym, twierdzą, że koszty ich stosowania często przewyższają korzyści. Poświęcasz dużo czasu na tworzenie luźno sprzężonego projektu z wykorzystaniem pewnego wzorca, w którym w rzeczywistości - luźne połączenie, „programowanie interfejsu, a nie implementacja” i wszystkie te zasady - mogą nie być tak ważne.
Chciałbym wiedzieć, ile wysiłku powinienem włożyć w tworzenie dodatkowych poziomów abstrakcji i projektów, tylko po to, aby moja aplikacja mogła przestrzegać zasad OO, takich jak luźne sprzężenie, programowanie interfejsu itp. Czy naprawdę warto to? Ile wysiłku powinienem w to włożyć?