【发布时间】:2010-06-02 06:46:20
【问题描述】:
我最近了解到,不同的信息技术也是基于 N 层架构的。
例如,Web 技术通常是 3 层架构:用户、Web 服务器和数据库服务器。但我们也在 N 层开发各种应用程序。这两者之间有什么区别以及它们之间的关系。
【问题讨论】:
我最近了解到,不同的信息技术也是基于 N 层架构的。
例如,Web 技术通常是 3 层架构:用户、Web 服务器和数据库服务器。但我们也在 N 层开发各种应用程序。这两者之间有什么区别以及它们之间的关系。
【问题讨论】:
n-tier 中的“n”基本上表示“您选择的数字”,因此您可以将其称为多层架构。通常,这表现为三个层次。显示、逻辑和数据。
正如您所提到的,这可以通过多种不同的方式实现 - 您已经在网页具有显示功能、Web 服务具有逻辑功能和数据库满足数据层的情况下看到了它。
N-Tier 是一种架构,因此可以应用于任何语言/技术。它不是一种设计模式,但其背后的原则是数据、逻辑和表示之间的关注点分离。 N-Tier 架构和设计模式之间的区别在于,N-Tier 描述了物理硬件分离以及代码单元分离。设计模式关注的是代码设计,而不是服务器设计。
【讨论】:
“N 层”是指您的应用程序或体系结构已划分为若干不同的层(或分区)。使用 n 层应用程序,对架构的修改或添加变得更加简单,因为如果将整个架构正确划分为层,则无需重新编写。
【讨论】:
它限制了开发人员将代码的责任限制在每一层的特定关注点上。
即:
视图层处理使事物有效呈现、验证输入并准备在应用程序内部使用
服务层将捕获“业务规则”,即对象的关系和转换中的逻辑。
持久层将限制自己从长期存储(通常是数据库)获取数据。
通过限制每一层的职责,代码变得更清晰、更集中、更容易推理(以额外的管道为代价)。
【讨论】: