用于Web应用程序的NTier架构的替代方案

Kha*_*zor 9 architecture asp.net

我最近与同事讨论了推动我们的Web应用程序遵循纪律的n层结构.让我感到震惊的是,我想不出任何其他选择.

是否总是应该将Web应用程序分层?

bro*_*die 7

传统的N层架构的替代方案是Udi Dahan讨论的命令 - 查询责任隔离(CQRS)架构.

像所有的架构决策,你真的应该想想,当用它作为讨论这里

就个人而言,我倾向于在我的软件旅行中看到很多"过度架构",这可能会使事情变得更加复杂,并且使维护起来更加困难,而且显然也会花费更多.您首先需要首先考虑业务问题,而不仅仅是选择架构.

让事情尽可能简单,以获得最佳结果和轻松重构.


Dar*_*rov 5

是否总是应该将Web应用程序分层?

您应该将系统的不同逻辑部分分开,以避免它们紧密耦合,这使得它们变得更加可重用.把你分开的东西并不是那么重要.你可以称它为或其他什么.

实际上这些层可能有两种含义:

  1. 物理边界:客户端浏览器,Web服务器,Web服务服务器,后端数据库,...
  2. 逻辑边界:GUI,服务层,DAL,......

您也可以看看洋葱架构.但洋葱仍然有层次:-)

  • 标准约定使用**层**表示物理边界,**层**表示逻辑边界. (5认同)