Citat:
mmix:
Postoji konceptualna razlika, u nlayer/tier modelu nema preskakanja layer/tiera
Izvini ali stvarno ne vidim gde je tu preskakanje
layer-a.
Citat:
mmix:
ono sto ti zoves POCO objektom iz domain modela je BL (logical) objekat u n-tier modelu
Aj da izbacimo POCO, neka koristimo samo DTO koji nema
behavior, već samo
state.
Da ga ne mešamo sa
business logic layer-om.
Citat:
mmix:
presentation layer nikad ni pod kojim uslovima ne komunicira direktno sa data layerom
Naravno da ne komunicira. Ne vidim nikakvu direktnu komunikaciju u onom primeru.
Citat:
mmix:
3. Business Logic - Controller, a dodatno može imati više slojev
klasicna greska. Controler NIJE zamena za business layer, izgleda primamljivo i ljudi trpaju gluposti tamo ali controller nije mesto gde se smesta ta logika.
Naravno da
Controller ne bi trebalo da bude mesto gde ćeš smestiti svu biznis logiku (
fat controller), ali takođe smatram da ne trebam da napišem čitavu knjigu da mi ne bi tražio dlaku u jajetu :)
Napravi se
service layer (po
DDD) iliti
application layer (mislim da se tako zove po
n-tieru), a onda taj
Controller dođe više kao neki proxy.
Ukoliko neko pak odluči da kompletnu logiku stavi u
Controller, taj
Controller mu nije ništa drugo nego
business logic layer i opet nema direktne komunikacije između
presentation layer-a i
data layer-a.
Ne znam, možda još uvek ne vidim nešto dobro, ali... ispunjena su tri uslova:
1) slojevi su logički odvojeni
2) mogu i fizički da se odvoje
3) komunikacija se vrši samo između susednih slojeva
Po meni, MVC može super da se uklopi u tu
n-tier priču.