Jaksi si nedovedu představit situaci, kdy by bylo třeba zjišťovat, že dvě firmy mají stejnou adresu...
Např. v aplikaci pro pošťáka, který potřebuje vyhledat nejvýhodnější trasu pro doručení zásilek. Ale to je úplně jedno, unikátní objekty a test na identitu se používá běžně, je to objektový systém!
...Pokud ji mít nemohou, otestuje se to zápisem do db a vyhozením výjimky při editaci adresy...
Tohle prasečí řešení jste určitě nemyslel vážně, budu dělat, že jsem to neviděl.
...Ovšem připustíte-li gettery a settery, pak jistě takovou situaci najdete a to je právě ta chyba. Budete prostě v tu ránu uvažovat jinak...
Ano, objektově.
...objekt se stane zárodkem závislostí na jiných objektech...
Opět: Objekty jsou na sobě závislé, je to objektový systém!
...a implementační detaily se přesunou na vyšší úroveň. Což v budoucnosti znesnadňuje modifikace.
Naopak, adresa bude uvnitř objektu, aniž by mě vůbec zajímalo, jak to vypadá vevnitř, stačí mi vědět, že to prostě je adresa. Test identity je pak triviální a neomylný, další výstupy (např. tisk) řeší objekt na požadavek sám (např. asPrintable ap.).