Proč je AnemicDomainModel anti-pattern rubrika: Programování: Jiné
Toto znám. Toto také. Přesto si nemůžu pomoct, že mi naopak přijdou Anemické objekty jako velice šikovný návrh. Hodně ho používám, a nemůžu si ho vynachválit.
Nechtěli byste vypíchnout, proč je podle vás tento přístup špatný?
Může za to, že je pro mě tak atraktivní skutečnost, že inklinuju k funkcionálnu a imutable strukturám?
Pro pořádek, od (Anemického) doménového objektu očekávám, že mi vytvoří reprezentaci něčeho (třeba auto), a že si zajistí datovou integritu, odmítne neplatné hodnoty etc.
Ještě bych přidal trochu kódu, abych osvětlil, jak si to představuju.
Anemický model je typická mezifáze vývojáře, který opouští OOP.
Totiž v OOP máš princip zapouzdření. Objekty skrývají svou vnitřní implementaci a vystavují chování. Jakmile si uděláš jen "přepravku na data", tak máš objekt, který nemá chování a pouze vystavuje vnitřní implementaci, to je anti-OOP.
Vývojáři, kteří opouštějí OOP a směřují k funkcionálnímu programování často mívají mezifázi předtím, než opustí objektový jazyk, kdy mají 2 typy objektů. Objekty přepravky a pak statické třídy, které očekávají takovéhle přepravky a vrací přepravky a samy nemají žádný stav. Pak obvykle ty přepravky bývají předělané na immutable. No a nakonec takový vývojář místo OOP přejde na FP, místo přepravek na data si dělá typy nebo recordy a místo statických metod má funkce.
Protože vím, že pracuješ s Haskellem, vůbec ne nepřekvapuje, že máš takovéhle tendence.
Pro zobrazení všech 13 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře