Jaký namespace třídu která něco dělá rubrika: Folklór

4 Murděj Ukrutný
položil/-a 4.2.2019

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á.

Komentáře

  • Rike : V Laravelu by to byly imho Services. 5.2.2019
  • harrison314 : #fun Spravny code ninja pouzije namespace Classes. 5.2.2019
  • rastakayakwana : app/modul/něco a misto něco jako treba grids,views,models,tables,repositoies,storages,factories,services, ale taky muzu mit app/models/model kde model je ten konkretni model, jako treba faktura a v tom mam tridy co ktomu patřej, import, export, clone atd. 5.2.2019
  • Murděj Ukrutný : "Service" je to co jsem hledal. Napsal jsem to trochu nepřesně, myslel jsem konec namespace takže App\ModulXY\Service 7.2.2019
odkaz Vyřešeno
6 kohven
odpověděl/-a 4.2.2019

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:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.