企业级项目实践——架构设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目实践
本项目实践通过实现一个人员权限管理管理系统,来应用我们学会的新技术,此项目用到的架构是三层架构,技术体系是MVC 3.0,Jquery,WCF,Entity Framework,同时使用Framework 4.0 的新特性,使用的开发工具是VS2010,数据库可以使用MS SQL或者Oracle。(出处:狼奔网).
系统的运行环境需要Visual Studio 2010 ,数据库Sqlserver 2008版本,MVC 3.0版本和PowerDesigner 15版本。
面向服务的架构图
组件说明
图表1项目组件说明图
1)App——页面展示层
采用MVC框架,使用Jquery脚本库,控件选用Easyui。
2)WcfHost——服务宿主
为对外的服务提供宿主,使用WCF技术,HTTPS通讯协议。
3)IBLL——业务接口层
业务逻辑层的方法对外暴露的接口和服务契约。
4)BLL——业务逻辑层
业务逻辑的操作,包括业务处理,事务,日志。
5)DAL——数据访问层
数据库访问的操作,数据实体,业务实体,数据校验,使用Entity Framework。
6)Common——公共组件层
整个应用程序使用的公共辅助方法。
7)WFActivitys——工作流活动层
定义了工作流需要的活动,使用微软WF技术。
8)WFDesigner——工作流设计器
可以让实施人员自由配置工作流的设计器,使用微软WPF技术。
分析DAL(数据访问层)的结构
新建实体数据模型;
在设计器中点击右键,从下拉菜单中选择“从数据库更新模型”;
设定连接字符串后,选中表、视图和存储过程,注意不要勾选“确定所生成对象名称的单复数形式”,点击“完成”。
将App.Config文件中的connectionStrings节点复制到App项目的Web.config文件中。
数据实体就在自动生成的Model1.edmx文件中,如下:
业务实体在SysMessage.cs文件中的SysMessage,它是一个分部partial 类,内部有自定义属性,MetadataType属性中指定了该实体属性的校验类SysMessageMetadata,并且它继承了IBaseEntity接口(此接口暂时没有任何成员);
SysMessage.cs文件中还有一个SysMessageMetadata类用于校验SysMessage类中的成员。注意校验类需要引用using命名空间。
SysMessageRepository类定义了SysMessage对象的所有操作(包括对数据库的增删改查),该类继承了
BaseRepository,IDisposable和 ISysMessageRepository。
BaseRepository.cs文件包含了所有数据访问的抽象基类BaseRepository,它里面的成员如下:
分析BLL(业务逻辑层)的结构
消息类的业务逻辑写在BLL类库中,事务使用TransactionScope对象,SysMessageBLL.cs类文件里面封装了业务逻辑的操作方法,并且继承了BaseBLL基类,具体方法请看源代码。
分析IBLL(业务接口层)的结构
此处从业务逻辑层类提取了业务逻辑层类的接口,接口可以作为服务契约。
系统管理的数据库结构
图表2系统管理——数据库结构图