Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: doom 20. 04. 2018, 21:29:08

Název: Generalizovaný název objektu
Přispěvatel: doom 20. 04. 2018, 21:29:08
Ahoj, potrebuju nejak rozumne pojmenovat obecny typ objektu ze ktereho budu dedit dalsi objekty (uzivatelskej feed, komentar k feedu, spravy, atd...). Obecnej objekt bude obsahovat klicove fieldy, ktore jsou potrebne na klientovi. Takze objekt kterej z nej bude dedit, bude posilat po siti. Napada vas nejakej rozumnej nazev pro tento objekt? Dekuji.
Název: Re:Generalizovanej nazev objektu
Přispěvatel: xxx 20. 04. 2018, 21:35:16
klienData ??
Název: Re:Generalizovanej nazev objektu
Přispěvatel: Kit 20. 04. 2018, 21:39:52
God object?
Název: Re:Generalizovanej nazev objektu
Přispěvatel: doom 20. 04. 2018, 21:41:35
co rikate na payload?
Název: Re:Generalizovanej nazev objektu
Přispěvatel: BoneFlute 20. 04. 2018, 21:47:18
co rikate na payload?

Payload může být vhodný název.

Obávám se, že jsi poněkud nešťastně popsal svůj problém. A navíc si do toho zamíchal kontroverzní téma (dědičnost). Plus pár překlepů. To se pak blbě radí.
Název: Re:Generalizovanej nazev objektu
Přispěvatel: balki 20. 04. 2018, 22:22:22
Objekt by som nazval InheritanceMisuse, este by som pridal metody pomenovane "a()", "b()" , "c()" len tak zo srandy, aby tam aspon nieco bolo.
Název: Re:Generalizovanej nazev objektu
Přispěvatel: Kit 20. 04. 2018, 22:27:49
uzivatelskej feed je payload, komentar k feedu je payload, spravy jsou payload,... Možná by to i šlo, ale smysl takového rozvržení mi uniká. Čím víc to bude univerzální, tím větší to bude paskvil. Nebylo by lepší, kdyby ten payload byl jen jeden a ostatní jen využívali jeho služeb?
Název: Re:Generalizovaný název objektu
Přispěvatel: Ondrej Nemecek 21. 04. 2018, 18:08:36
Pokud to bude jen na serveru, pak by to mohlo být něco jako AbstractRecord (abstraktní třída). Z toho se bude dědit a povede to k těsné vazbě mezi třídami, která Vás pak časem bude omezovat. Zlepšení by šlo asi dosáhnout užitím generik, pokud je použity jazyk umí - pak by byla třída Record<T> kde T je typ dat, které ten záznam obsahuje. Třída Record by pak obsahovala fieldy, která jsou z principu přítomny vždy (id, čas vytvoření, modifikace, přístupová práva apod.) a obslužné metody.

Pokud to bude součástí nějakého webového API a ten objekt bude lítat z klienta na server a zpět, bych udělal něco jako dvojici Request<T> Response<T>, kde T bude typ dat, které se budou přenášet (Feed, Comment atd.). V samotném Request a Response budou jen metody a fieldy, které mají smysl vždy (stavové kódy, chyby, verze protokolu a obslužné metody apod.), uživatelská data budou v tom typu.

Určitě je x dalších možností, jak to udělat...