“业务外观项目”层: Business Facade Projects layer
该块常用于向基础业务对象提供一致的接口,并将客户端同基础业务逻辑的更改隔离开。当它出现时,它或者处于客户端和业务逻辑之间,或者处于 Web 服务项目和业务逻辑层之间。
从“用户服务”层(Windows 用户界面或 Web 用户界面客户端应用程序)接收用户输入。
如果请求需要对数据进行只读访问,则可能使用“数据访问”层。
将请求传递到“业务规则”层。
将响应从“业务规则”层返回到“用户服务”层(Windows 用户界面或 Web 用户界面客户端应用程序)。
在对“业务规则”层的调用之间维护临时状态。
“业务规则”层: Business Rules layer
业务规则项目块包含业务对象本身以及应用于它们的规则。这也是主要业务对象所在的位置。它们实现业务实体或系统对象。系统的业务规则将在这些对象中编码,尽管部分业务规则可能实际上已在数据库的存储过程和触发器中进行了编码。
从“业务外观”层接受请求。
根据编码的业务规则处理请求。
使用“数据访问”层从“数据服务”层获取数据或将数据发送到“数据服务”层。
将处理结果传递回“业务外观”层。
“数据访问”层:Data Access layer
“数据访问项目”层执行从数据库(或其他数据服务)获取数据或向数据库发送数据的功能。在分布式应用程序结构中,相应功能使用 ADO.NET 数据适配器和 SQL 服务器存储过程来完成。
从“业务规则”层接收请求,从“数据服务”获取数据或向其发送数据。
使用存储过程获取数据,并可选用 ADO.NET 向数据库发送数据。
将数据库查询结果返回到“业务规则”层,作为强类型的 ADO.NET 数据集。
gong
系统框架: SystemFrameworks
系统框架项目”层与提供系统服务、系统基础结构功能或其他共享功能的应用程序的组件相关。这一功能可能不是特定于任何给定的应用程序的。示例包括 HTML 页缓存服务或对象查询缓存(名称服务/负载平衡服务)。
“系统框架项目”层可由结构中的任何层使用。此外,强类型的数据集驻留于系统类型层。当某些共享功能只在一个应用程序中使用,而其他共享功能在若干个应用程序之间共享时,可以考虑将它们分成不同的系统类型项目。
Web 服务项目: Web Service Projects
“Web 服务项目”层提供 Web 服务客户端可以访问的公共 Web 接口。如果存在“Web 服务项目”层,它可以独立于在应用程序中所使用的用户接口的类型(例如 Web 客户端或 Windows 客户端)表示。它是对应用程序服务器进行远程处理的方式之一。
除了其方法是通过其他 Web 服务客户端访问的之外,“Web 服务项目”层类似于“业务外观”层,这意味着它不限于由应用程序本身的其他组件来进行访问。
由于具有两个独立的外观,这样就有两个好处:可以在“Web 服务项目”层中分离不同的功能,以及使用各种访问架构(例如,权限)。Visual Studio 附带的企业级模板包括 WebService 构造块,但您还可以轻松地添加其他构造块。
注意 在分布式应用程序模板中,“Web 服务项目”层由于受策略的限制,只能用作用户界面和应用程序其余部分的中间层。出于安全性和性能的考虑,实际的 Web 服务是不允许在其他地方使用的,以避免直接向用户公开业务逻辑。对于某些应用程序而言,可以决定自定义策略以允许在其他地方使用 Web 服务,但您应该仔细考虑涉及到的性能、安全性和应用程序风险。
WebUI and WinUI:
管理 Web 页或 Windows 界面的呈现和行为
显示数据
捕获数据
数据验证检查
为用户提供任务指南
向“业务外观”发送用户输入
从“业务外观”接收结果
向用户显示错误
可能还要执行一些语法检查,但业务规则应该位于“业务规则”项目或数据库的存储过程中(如果适用)。
浙公网安备 33010602011771号