Rec je o tom, ze s objektami sa nekomunikuje (=nevyberaju a nenastavuju sa vlastnosti objektu, v tomto kontexte) len vymienanim sprav, ale aj pomocou setterov a getterov a je nezmysel tvrdit, ze jediny spravny sposob je vymena sprav.
Ty zprávy jsou abstraktní pohled na to, co se vlastně děje. To, že nejsou implementované nějakou frontou zpráv ale přímým zavoláním metody je druhá věc.
objekt.setName("Pepa") může znamenat, že posílám zprávu "setName" s parametrem. Ta zpráva vlastně jen zdůrazňuje :
1) Jako volající netuším, jaký kód se bude volat a jestli vůbec. Pokud volající ví, jaký kód se vykoná, tak je zapouzdření pryč.
2) Po objektu požaduju nějakou rozumně zabalenou činnost, po které by měl zůstat v konzistentním stavu.
Pokud si nějaké volání nedokážu představit jako poslání zprávy s požadavkem, pak to beru jako náznak, že jsem něco navrhl blbě.
Prosím, vysvětlete mi, co tím básník myslel.
Mě naopak přijde jejich použití víc než žádoucí.
Pokud má objekt moc přístupových metod, pak to může znamenat, že nemá zodpovědnost za stav jeho dat on, ale volající kód. Pokud může volající nechat objekt v nekonzistentním stavu, pak není pořádně zapouzdřený.