Dibi fluent v presenterech vs modelech
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- tajo
- Člen | 20
Zdravím,
měl bych filosofický dotaz. Jak moc je dobré či špatné si předávat z modelu do presenteru Dibi fluent.
Proč je dobré do presenterů dibi fluent vůbec netahat?
- Presentery nejsou pak závislé na struktuře databáze. Mohu například přepsat modely tak, aby fungovaly nad textovými soubory a zbytek aplikace běží dál.
- Dodržuje to DRY. Napříkad kdybych si vracel z modelu fluent getArticles() a v presenterch pak měl za tím něco jako ->where(‚id = ?‘), pro vypsání daného článku, tak je pravděpodobné, že tuto podmínku budu mít časem na více místech.
- Lépe se to testuje. Business logika není roztahaná i po presenterech, stačí věnovat pozornost pouze modelům.
Proč je dobré si dibi fluent do presenteru předat?
- Není potřeba vytvářet v modelu spousty metod jako get(), getList(), getPairs() …
- Při složitějších dotazech pak není potřeba metodám modelu předávat spousty parametrů a tam pak zavádět spousty podmínek
Existuje mezi tím nějaký kompromis? Má smysl si úplně zakázat dibi
fluent v presenterech?
Díky za názory :)