Jaký namespace třídu která něco dělá rubrika: Folklór
Zdravím,
mám projekt v Nette (i když na to nezáleží je to obecná otázka). Modely mám v namespace Models, presentery v Presenters, ...
Když něco dělám s modelama (třeba import, klonování, ...), řeším to v presenteru ale toto bude asi složitější tak to chci vytáhnout do samostatné třídy. Tak a teď ta otázka:
Jak se tyto třídy obecně nazývají, nechci vymýšlet jméno pro něco co už jméno má.
Jsem zvědavý, jak tato otázka dopadne, protože sám si nejsem moc jistý.
Jak to dělám já: Hlavně se snažím dělat co nejmenší moduly, aby v jednom modulu byly věci, co spolu opravdu úzce souvisí. Takže řádově jednotky kontrolerů v jednom modulu. Deset už je moc. V rámci modulu pak standardně kromě již uvedených namespaces ještě:
- components pro třídy, u kterých se čeká, že se na sebe budou skládat i jinak, než jen v rámci konstruktorové/containerové DI a drží si nějaké stavy, ale nejsou to jenom obálky na data.
- services pro třídy, které si neudržují vnitřní stav (nepočítám DI).
Případně pokud je to nějaká složitější izolovaná funkčnost, tak prostě vytvořím úplně nový modul s novým namespace, kde není views ani controllers/presenters. V "kořenu" toho nového namespace je pak nějaká třída, ve které je vstupní bod té funkčnosti a pak podle potřeby další "podsložky" Models, Components, Services.
Pak to někdy naráží na takovéto: Je to ještě model nebo už komponenta? A drží si ta komponenta opravdu stavy nebo spíše nějaké vložené funkčnosti, takže je to spíše služba? Ale podle zkušeností z praxe si myslím, že to většinou bývá zřejmé, co je co.
Komentáře
- Kit : To je právě ta taxonomie, na které vůbec nezáleží. Je však v pořádku, že v modulu je jen to, co spolu souvisí. Z mého pohledu klidně controller, presenter a model pohromadě - to jsou 3 komponenty. Používám model dělený podle kompetencí. — 4.2.2019
Pro zobrazení všech 4 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře