Как шаблон MVC отличается, если вообще отличается, от шаблона проектирования DAL / BLL?
Я пробираюсь через ранние учебники по доступу к данным на веб-сайте Microsoft ASP.NET, и мне пришло в голову, что все это кажется очень похожим на то, что я прочитал о разделении вашей логики и кода представления с использованием шаблона MVC. Как новичку, мне еще предстоит реализовать шаблон MVC, но мне любопытно, как эти две структуры дизайна различаются и нужно ли мне сосредоточить свое внимание на одной или другой, особенно в контексте веб-дизайна.
2 ответа
Ссылка, которую вы разместили для учебника по доступу к данным, является реализацией шаблона MVC. Шаблон MVC - это концепция, реализация может отличаться; у вас это есть в ASP.NET, тогда как в Java есть одна инфраструктура под названием Struts, которая представляет собой реализацию MVC.
Шаблоны DAL и BLL отличаются от шаблонов MVC с точки зрения концепций; но НЕ это конкретная реализация. MVC фактически достигается за счет использования DAL, BLL и View Patterns.
MVC адресует больше, чем просто доступ к данным. В MVC DAL и BLL включены в модель. Представление определяет, как данные модели представляются пользователю, а контроллер - это то, что реагирует на вводимые пользователем данные (GET/POST в Интернете).
Альтернативой MVC является классическая N-уровневая архитектура, где у вас есть уровень представления, бизнес-уровень и уровень доступа к данным. В этой архитектуре компоненты представления и контроллера объединены на уровне представления. WebForms/WinForms является примером N-уровневой архитектуры, в то время как ASP.Net MVC является примером MVC в пространстве Microsoft.