三层Web编程的类型(Webforms或MVC)

时间:2014-08-10 13:46:00

标签: c# asp.net asp.net-mvc data-access-layer business-logic-layer

我已经知道了一种模型,你可以在下面看到 enter image description here

是否有不同类型的网络编程图层?

层之间的关系可能不同?与上图不同

(表示层 - 业务逻辑层 - 数据访问层)

如果有,请解释它们甚至介绍一些资源。 (优点和缺点)

1 个答案:

答案 0 :(得分:0)

你(以及其他大多数人)应该知道的最重要的一个是洋葱建筑..

http://media.ch9.ms/ch9/7a85/504ec747-81f3-49c1-bce3-2af5cb497a85/aspConfMvcSolutionBestPractices_Custom.jpg

图片来自Channel9上有关使用此架构构建ASP.NET MVC 4应用程序的演示文稿。真的值得一看,但要注意,它可能会永远改变你对构建应用程序的想法(:-))

http://channel9.msdn.com/Events/aspConf/aspConf/ASP-NET-MVC-Solution-Best-Practices

实质上,您不再将数据库视为“底层”。实际上,您将其视为用户界面旁边的“顶层”,或换句话说,它是应用程序之外的世界的端口。您的域名实体位于底层,但他们不依赖或了解使用它们的任何内容。然后,您可以定义接口 - 再次不依赖或了解特定的数据访问技术 - 描述您需要的任何存储和检索操作。 (尽量避免简单地定义五个CRUD操作......更重要的是,避免使用generic repository pattern ......长期可维护性通常会成为问题所在。)

UI层和业务逻辑永远不会直接访问存储库接口的特定于数据库的实现。您只能针对接口编写应用程序代码。