模块架构
虽然每个模块提供了一组不同的特性和功能,一些建筑元素模块之间都是普遍存在的。大多数款模块是使用一个n层架构开发的。无论你构建一个Web表单模块,MVC模块,或水疗中心模块,实现这些层模块。

数据访问层
款支持三种数据访问层(DAL)框架:木豆,木豆+,DAL2。这三个都基于同一基础提供者模型,使款使用不同的数据库管理系统。
- 一个抽象的数据提供者类,它定义了数据层API。
- 这个抽象类的具体实现为每个数据库类型您希望支持(通常只是SQL Server)。
- 数据库脚本创建存储过程,您的模块需要的表和视图。
木豆+添加核心平台的通用数据访问方法消除需要抽象和具体数据提供程序类。你仍然可以使用备用数据库,您还必须提供必要的数据库脚本。
DAL2使用PetaPOCO Micro-ORM,这消除了需要编写存储过程。DAL2提供了额外的功能,包括集成缓存管理,进一步简化了代码。
您可以使用任何数据访问方法,即使是那些不直接支持款。您还可以使用一个以上的木豆技术在单个模块。
缓存层
数据库访问是最慢的行为由一个web应用程序。在许多系统中,数据是存储在一个格式,不同于将使用的格式。应用程序通常执行复杂的查询过滤数据集,然后改变结果之前使用的格式。如果不是本地数据库,查询需要更长的时间,这取决于网络速度。数据库查询数量级低于使用一个内存中的缓存。
- 任何昂贵的数据计算和收益率相同的结果在一段时间内。
- 任何数据段不变的一个子集的用户或为一个特定的URL。
提供了内置缓存的缓存API款。如果你用款的木豆或木豆+ api,实现Cache-Aside模式最优性能。您可以配置DAL2内置缓存的代码中使用属性。
缓存API可以扩展到使用不同的缓存存储。确保缓存API提供的抽象模块执行无缝,不管缓存提供者由站点管理员安装。
(序列化)
,以确保它是正确地存储进程缓存提供者。(序列化)公共类MyInfoClass{/ /属性声明…}
业务逻辑层
大多数业务规则实现的业务逻辑层。这些规则可以作为验证数据简单或复杂的编排工作流跨多个后端系统。这一层还负责协调调用缓存和数据访问层。
款提供api来处理常见的任务,比如应用程序安全、文件存储、列表管理、事件日志和全文搜索。这些api是完全抽象的和可扩展的,这样你就可以专注于业务规则特定于您的模块。
服务层
款提供的服务框架,它可以用来快速定义web服务。服务框架提供了集成访问常见款实体在服务方法,这样你的服务就可以确定哪些网站被称为模块用户的请求,并促进请求。你也可以确保您的web服务通过指定应用程序,用户可以访问您的服务端点。
表示层
表示层是核心组件模块控制。每一个独特的观点一个模块注册为模块控制款清单。
款api可以很容易地访问任何模块控制,从而简化视图管理模块内。
另外,模块可以实现他们自己的视图调度方法来控制当特定的视图显示或模块如何出现在页面上。
对于Web表单模块,主视图组件是一个ASP。网用户控制,称为模块控制款。MVC和水疗中心模块,款扩展模块的定义视图呈现管道控制,以适应他们的选择。