V daném případě můžeš vyhodit obě třídy. Nic nedělají a jsou k ničemu. Tím ušetříš nejvíc psaní.
Nesou data, to je podstata immutable trid. Vzhledem k tomu, jak Java pridava funkcionalni rysy, cekal bych, ze pujdou i k necemu vyuzivat.
Pokud nesou jenom data, tak to nejsou objekty, ale struktury.
Jak presne se v Jave zapisuji struktury? Navic ta Scala implementace umi i copy metodu, tj. napr.
Foo(1,2,"a").copy(name="b") vrati novou immutable instanci
Foo(1,2,"b"), to si nejsem jisty, ze v Jave lze ani manualne napodobit (mozna neco jednodussiho ve stylu
Foo(1,2,"a").updatedName("b")). Odpoved podle vas je tedy nepouzivat zadne postupy z funkcionalniho programovani?
To se používá jen u messengerů. Co takhle vypustit gettery a fieldy ponechat private?
U verejneho API? Ehm, to jako vratim tweet instanci s privatnimi fieldy, at si to klientska aplikace reflexi precte? Asi se nechapeme.
Proč? Klient přece nemá co hrabat na atributy objektu. Má být zapouzřený.
Klient (napr. moje stranka) si zazada o tweet uzitim nejake knihovny, dostane tweet instanci a jak z ni vybali ty privatni data bez getteru? Nebo jako tweet trida z knihovny treti strany se bude umet zobrazit v me aplikaci? Co si znovu ctu vase odpovedi, tak to na mne pusobi, ze neexistuje spravna cesta. Datove objekty nemam pouzit, accessory take ne, mam pouzivat pouze privatni fieldy. Jsem z toho hodne zmateny. Mohu poprosit o vysvetleni na urovni zacatecnika?