Autor Zpráva
Ugo
Profil
Zdravím,
stále přemýšlím nad rozdělením modelu v nové aplikaci, normálně se nesnažím o nějaké držení čistoty a dělám nejlehčí potřebné řešení, ale zde bych to chtěl kvůli rozsahu a době spravování udělat pořádně, narážím ale na asi klasické 2 problémy.
1. rozdělení
2. joinování (kdy kde a jestli vůbec)

1. stále nevím jak model jenž pracuje s databází (či kamarádem jsnem) rozdělit, momtenálně mám repository(service), entitu která jen hlídá datové typy a mapper. Určite chci zachovat mapper i když zdroj dat se na 90% měnit nebude, ale nevím zda neudělat místo repository-entity udělat 2 objekty - jeden by zůstal jako teď repository, akorát by se některá logika přesunulova do toho co je teď jen obálka s kontrolami. Např. zend nad kterým je projekt postaven má v objektu db_row metodu save taky, tak nevim zda to neni úplně mimo, zas bych nechtěl dělit to na 3 objekty jako právě zend_db .. db->rowset->row , stačilo by mi db->x*row ... zjednodušeně, zda se držet repository->save(entity) a nebo mít entity->save() ... obsluhující třídy by tak museli znát 2 třídy místo 1, ale použití by možná bylo hezčí

2. kam dát joiny, když mi mapper zastupuje 1 tabulku, do té "nejdůležitější"? případně kdy a zda je volat... když ne vždy potřebuji například kontakty uživatele, tak zda je i tak joinovat nebo volat samostatně a nebo zda je volat vždy samostatně, ale až na uživatelovo vyžádání - taky proto mě trápí bod 1, takhle to nelze udělat na vyžádání ale musím o to žádat ještě mimo, což by do modelu mohlo zanést zbytečné duplicitní metody

snad je vám dotaz pochopitelný, já sám sem se v něm zamotal, tak díky za rady ;)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: