发布网友 发布时间:2024-10-04 08:17
共1个回答
热心网友 时间:2024-10-04 10:21
三层架构的程序并不仅仅是将项目划分为DAL(数据访问层)、BLL(业务逻辑层)和WebUI(用户界面层)那么简单。在设计项目时,需要注意以下几个关键点:
1. 在UILayer(用户界面层)中,应确保包含极少或无SQL语句,且这些语句不会改变数据,保证其仅作为数据展示层。
2. 项目是否可以在没有UILayer的情况下,仅通过Interface/API(接口/应用编程接口)层提供所有功能,这是衡量是否为三层架构的重要标准。
3. 数据访问层(DAL)能否在其他类似环境中独立运行并保持功能完整性,这是判断可移植性的关键。
4. 三个模块是否可以独立部署在不同的服务器上,这是衡量架构灵活性的重要考量。
只有当以上所有条件都满足"是"时,项目才能被视为严格意义上的三层程序。三层架构需要遵守一些规则:
1. UI层应仅作为外壳,避免包含任何BizLogic(业务逻辑)处理过程。
2. 设计时应以BLL为核心,而非直接从UI出发。BLL层应在API上实现完整的业务逻辑,遵循面向对象的设计原则。
3. 数据层,无论是使用SqlHelper还是映射过的类,应具有一定程度的系统无关性,实现抽象化。
4. 设计时要考虑远程交互技术(如COM+、Remoting或WebService),以及在不同服务器上部署的可能性,甚至要考虑通过负载均衡进行集群扩展。
因此,是否采用三层或多层设计,首先要考虑项目需求的实际复杂程度。通常,大部分项目仅需WebApplication即可,过度复杂的架构并非必要。多层架构主要适用于处理复杂项目需求的情况。
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。