3-степенна архитектура, бизнес логически слой без логика

Здравейте, в момента работя върху училищен проект, в който правим уеб приложение. Имам доста добро разбиране за 3-степенната архитектура, но в моя бизнес логически слой (BLL) нямам почти никаква логика. Използвам повечето необработени данни, които извличам от моя слой за достъп до данни (DAL), за да ги покажа в моя презентационен слой (PL). Понастоящем в моите класове на контролер, аз просто извиквам методите на фасадните класове на мапъра, без да правя нищо повече. Та въпросът ми е:

Това ли е правилният начин да го направя, тъй като знам, че DAL никога не трябва да говори директно с PL и обратното, или просто трябва да нарека контролерите нещо друго, по-описващо?

Освен това направих клас контролер за всеки обект, но какво ще стане, ако имам някои методи, които са между два обекта, което означава, че те имат достъп и до двата класа обекти.


person Daniel Winkel-Pedersen    schedule 19.04.2016    source източник


Отговори (2)


Доста рядко е в реално приложение базата данни да картографира точно 1-1 с презентационния слой. Обикновено има нормализиране за SQL бази данни или денормализиране за NoSQL dbs. Освен това бизнес слоят обикновено се нуждае от идентичност на потребителя за сигурност и такава, която не се свързва директно с представянето на базата данни.

Последната точка, която направихте за един контролер, който знае за два обекта, е напълно наред. Ето защо не използвате директно тези обекти в презентационния слой. Можете да комбинирате тези обекти в нещо, което потребителският интерфейс може да използва по-лесно, и да ги държите разделени на слоя за достъп до данни.

person Rob Conklin    schedule 20.04.2016

Изглежда, че имате Анемичен модел на домейн.

В „реалния живот“, ако вашият домейн е толкова прост, може да искате да пропуснете многослойната, специално създадена архитектура и да изберете по-опростен начин като Скрипт за транзакции или подходи RAD за изрязване на бисквитки, при които много код може да се генерира автоматично.

person guillaume31    schedule 20.04.2016
comment
Добре, страхотно, благодаря за приноса, звучи логично! Трябва да използваме 3-степенната архитектура за учебни цели (: - person Daniel Winkel-Pedersen; 24.04.2016