Lean Mapper best practices
- Pavel Janda
- Člen | 977
Zdravíčko,
rád bych se inspiroval vašimi přístupu při implementaci Lean Mapperu do Nette.
Tedy, jde mi o jedno: Lean Mapper má Entity a Repozitáře. Uvedu několik případů, které mě stále dezorientují:
- Po odeslání formuláře chci leckdy „blbnout“ s Entitami, ale zároveň s nimi nechci blbnout přímo. Tedy bych rád pracoval ještě s nějakou vrstvou ležící mezi Repozitáři a řekněme Presenterem. Jedná se například o situaci, kdy chci odeslat mail, nacpat něco do session, vyrobit několik nových entit, nějaké vazby zničit a třeba ještě pustit fontánu. Přeci to ale nebudu dělat v Presenteru.. Zároveň to asi (?) nepatří do Repozitáře, ten manipujuje s Entitou.
- Kdybych si sám vyrobil další vrstvu ležící mezi Repozitářem a Controllerem, zdálo by se mi vše dosti těžkopádné. Někdy přeci v Presenteru rád šahám na samotné Entity. Ale inject několika těchto dalších vrstev spolu s jejich Repozitáři do Presenteru se mi též nejeví jako vhodné řešení.
Inu, jak se s tímto vypořádává Nette-LeanMapper komunita?
Děkuji za jakékoliv reakce.
Editoval Beton (1. 4. 2015 21:03)
- Joe Kolář
- Člen | 13
Zdravím,
osobně jsem si LM velmi oblíbil, ale ta absence mezivrstvy mezi repozitáři a
presentery je znát.
Snažím se ji řešit pomocí managerů, které mi právě uchovávají logiku
nad LM i jinými službami (session, cache). Mám to tak, že
v repozitářích mám metody na získávání dat, v managerech pak
především metody na složitější persistenci, úpravy vazeb, atd. Tzn. ne
všechny části modelu mají svůj manager, ale většina ano, protože mi
nepřijde čisté právě v presenterech kouzlit s entitami.
Navykl jsem si na masové používání komponent (téměř vše je komponenta), takže s managery a repozitáři pracují komponenty, ale to je otázka preference.
Editoval Joe Kolář (1. 4. 2015 22:49)