Wpis z mikrobloga

@sarveniusz: Nie wiem czy Active Record to najlepszy przykład na łamanie SRP, bo to nie jest takie jednoznaczne. Sam obiekt mógłby bez łamania SRP wyszukiwać, zapisywać i reprezentować dane, pod warunkiem, że wyszukiwanie i zapisywanie odbywałoby się bez wiedzy/udziału klienta. Z tak "naprawioną" enkapsulacją jest inny problem - nie jest to w zasadzie już obiekt, a struktura danych, więc masz połączenie niestabilnego interfejsu i (jednego) wewnętrznego reason to change, czyli
@sarveniusz:

Przekładając tę analogię na programowanie, gdy mamy niewielki projekt, który nie będzie rozwijany (np. szybki prototyp, który później leci do kosza) tworzenie takich klas wykonujących kilka czynności nie napędzi nam ogromnych kłopotów. Natomiast przy tworzeniu projektu, który ma być porządnie przetestowany oraz w przyszłości rozwijany powinniśmy mieć tą zasadę na uwadze i starać się pisać kod tak, aby jej nie łamać.


Takie troche Captain Obvious te 2 zdania ;)

Aczkolwiek
@rabulex: Oczywiście, że lepiej trzymać się pewnych zasad, nigdzie nie napisałem, żeby robić byle jak :) Po prostu w pewnych sytuacjach zaciągnięcie długu technologicznego nie jest niczym złym, ważne aby mieć tego świadomość.