Аз съм нов в ASP.NET MVC и наследих проект, който използва технологията.
Такъв уеб проект съдържа три папки: Views
, Controllers
и Model
. Доколкото разбирам, моделът всъщност съдържа вашия домейн/бизнес логика и се извиква от вашите контролери. Самите контролери действат като делегатори между изгледи и модел.
Сега, в типична многопластова архитектура, не трябва да има препратки към проекта Web/UI в нито един проект.
Намирам това за доста объркващо:
-> Потребителският интерфейс съдържа модела, който е - в един идеален свят - базиран на принципите на "Дизайн, управляван от домейн".
-> Слоевете над потребителския интерфейс (Услуги и DataAccess) не може да има препратка към потребителския интерфейс
Как можете да напишете ефективни услуги и слоеве за достъп до данни, ако те не познават вашия модел?
Какво ми липсва тук? Web.Model различен ли е от „DDD“ и трябва ли все пак да имам отделен BL проект? Ако случаят е такъв, тогава какво трябва да съдържа Web.Model?