Společný deletePresenter?
- libik
- Člen | 96
Ahoj,
mám stromovou strukturu, kterou obsluhuji pomocí pagePresenter,
documentPresenter, filePresenter (page může obsahovat N dokumentů a ty zase M
souborů).
Teď jsem se dostal k mazání (nastavuji jen příznak v db), které chci
provádět v kterékoliv úrovni a vždy smazat i všechny děti ve stromu
(smažu dokument, smažou se příslušné soubory, atd.)
A teď jaká je best practice, aby se kód neopakoval nebo nevznikl nějaký hloupý kód, který mě napadl jako první:
- filePresenter maže soubory
- documentPresenter maže konrkétní dokument, dále z modelu pro files zjistí, které mu patří a smaže je také
- pagePresenter analogicky z příslušných modelů zjistí dokumenty a soubory v nich… a maže.
Další řešení co mě napadá:
- deletePresenter s actionDeletePage, actionDeleteDocument, actionDeleteFile
nebo
- smazat Page v pagePresenter:actionDelete, přesměrovat na documentPresenter:actionDelete a smazat dokument a přesměrovat na filePresenter:actionDelete a smazat soubory … a přesměrovat zpět.
Díky za radu.
- David Matějka
- Moderator | 6445
pouzij to prvni reseni s tim, ze tu logiku budes mit v modelu – tam se nastavi priznak a zavola se jina metoda (pripadne na uplne jine sluzbe) ktera smaze deti atd.
deletePresenter neni hezky a to presmerovani je blbost :)
alternativa – triggery v databazi