Zkušenosti – modulární aplikace/web/cms
- Václav Pávek
- Backer | 100
Vím, že toto téma zde bylo probírané několikrát, ale zajímali by mě vaše zkušenosti z praxe a nikoli konkrétní technické řešení.
Konkrétní příklad: web s administrací
Možná řešení:
- modul obsahuje frontend + backend
- modul pro frontend i backend jsou oddělené
- jiné (popiš)
V tomto tématu neřeším závislosti mezi moduly, assety apod.
Dále by mě zajímalo jak řešíte zákaznické úpravy modulů – úprava vs. kopie. Myšleno směrem k případným aktualizacim systému.
Děkuji všem za čas a odpověď.
- iNviNho
- Člen | 352
Ahoj,
ja väčšinu aplkácií rozdelujem na AdminModule a FrontModule.
AdminModule
Modul do ktorého je možné pristúpiť iba s uživateľskou rolou admin. Je
tu umiestnená správa webu (CMS) alebo správa zákazníkov (CRM) a množstvo
iných „podmodulov“, ktoré súvisia s firmou, alebo administráciou.
FrontModule
Modul do ktorého vie každý vstúpiť. Klasicky webová stránka napr www.csfd.cz
AdminModule má svoje vlastné presentre aj templaty. FrontModule má tiež svoje vlastné presentre a templaty. Ale obidva moduly dedia od nejakého rodiča.
V každom module by som rôzne „podmoduly“ rozdelil tak, aby som ich vedel prípadnému zákaznikovi akokoľvek osekať, alebo upravovať podľa prianí. Modularita je veľmi dôležitá
Prípadne ak sa registruje uživateľ, tak by som vytvoril další modul UserModule napr a tam by mohol vstupiť a editovať svoje veci registrovaný User
Editoval iNviNho (25. 11. 2015 12:41)
- akadlec
- Člen | 1326
a proto bych to dělení na moduly vzal z toho druhého konce. Nejdříve dělit na moduly dle funkce – uživatelé, články, eshop a až tyto moduly dělit na podmoduly typu admin a front. Toto mi přijde více logické, hlavně pokud někdo chce modulární systém. Jednoduše veme modul uživatelé a články a to mu bude stačit, pro dalšího klienta pak zase veme modul uživatelé a eshop atd. atd.
- iNviNho
- Člen | 352
Asi sa nerozumieme. Admin a Front modulmi myslím iba rozdelenie na časti kde vstupi admin a kde má možnosť úpravy a časť front, ktorá je iba zobrazovacia časť stránky.
V AdminModule máš potom ako keby ďalšie podmoduly presne ako píšeš. Napr. multimedia, seo, nastavenia, članky atd atd a všetko to mám rozdelené tak aby to bolo nezávislé a odstránenie jedného modulu neviedlo k chybovosti druhého.
- Šaman
- Člen | 2665
Moduly používám pro logické rozdělení aplikace, ale nikoliv jako znovupoužitelné části. (Ze zmínky o zákaznické úpravě modulů usuzuji, že chceš mít sadu modulů použitelných ve více appkách.)
Jako znovupoužitelné vytvářím jen pomocné třídy (utility), několik base tříd a pak komponenty, nebo továrny na formuláře. Asi to souvisí s tím, že nedělám weby, ale aplikace, které mají zadání zakázku od zakázky velmi rozdílné. A často ani nemají klasický veřejný frontend.
- Jiří Nápravník
- Člen | 710
@iNviNho pokud dobře chápu, tak ty máš
AdminModule
– ArticleModule
– PhotoModule
FrontModule
– ArticleModule
apod.
Nicméně akadlec i já mám a doporučuji, přijde mi to logičtější, a
lépe se řeší přenositlenost, nemusím to vyzobávat:
ArticleModule
– AdminModule
– FrontModule
PhotoModule
– AdminModule
– FrontModule
- Václav Pávek
- Backer | 100
Děkuji za odpovědi a váš čas. V současné době připravuji nový systém pro své potřeby a chtěl jsem znát názory z praxe. Pravdou je, že každý web je jiný a originál, ale taky spousta věcí je stejná jen má rozšířenou datovou strukturu.
Budu rád pokud někdo další napíše své zkušenosti.
- Jiří Nápravník
- Člen | 710
@iNviNho Mám ještě jeden modul AppModule – kde je nejaky ten zakladni config, nastaveni database apod. a mj je tam FrontBasePresenter a AdminBasePresenter a od toho pak dedi ty presentery uvnitr modulu… je pravda, ze je to nejaka zavislost na nejakym dalsim modulu, ale nejaky BasePresenter je vzdycky potreba…