项目的架构分析
2017-01-18 16:52
169 查看
在一个好的架构下编程,不仅对于开发人员是一件赏心悦目的事情,更重要的是软件能够表现出一个健康的姿态;而架构设计的不合理,不仅对于开发人员是一件受苦受难的事情,软件本身的质量更是受到严重威胁。
展示层,负责系统与客户的交互
业务逻辑层,负责处理系统的业务
数据访问层,负责处理数据,与不同的数据库打交道
服务层,负责与其他系统进行数据交互和业务集成
我们在此四层架构的基础上进行一些扩展,就是将业务逻辑的方法抽象出业务接口层(IBLL)。
1. App——页面展示
因为是BS架构的项目,所以选择最新的MVC 3.0框架,使用Jquery脚本库。
2. BLL——业务逻辑
业务逻辑的操作,包括业务处理,事务等。
3. DAL——数据访问
数据库访问的操作,数据实体,数据校验,使用微软的EF技术。
4. IBLL——业务接口
业务逻辑层的方法对外暴露的接口和服务契约。
5. Common——公共组件
整个应用程序使用的公共辅助方法。
6. ModelingProject——模型设计
在此设计项目的图例,如:架构图。
7. WcfHost——服务宿主
为对外的服务提供宿主,使用微软WCF技术。
8. WFActivitys——工作流活动层
定义了工作流的活动,使用微软WF技术。
9. WFDesigner——工作流设计器
实施人员自由配置工作流的设计器,使用微软WPF技术。
展示层(App)调用业务接口层(IBLL),业务接口层(IBLL)被业务逻辑层(BLL)实现,业务逻辑层(BLL)调用数据访问层(DAL),公共组件(Common)则是抽象了系统中可以共用和重用的部分,每个层都可以调用
增加了一个服务层(WcfHost),将业务接口层(IBLL)暴露给其他系统,使其方便与其他系统进行数据交互和业务集成
此处没有让展示层(App)调用服务层(WcfHost),是因为我们有共同的业务接口层(IBLL),也是为了性能的考虑
因为"数据实体"放在DAL层中,所以展示层(App)也需要引用数据访问层(DAL),但不许在展示层做数据库操作
注:本文转自腾飞刘的同名文章。
架构设计图
架构说明
一个标准的四层架构包含如下四个部分:展示层,负责系统与客户的交互
业务逻辑层,负责处理系统的业务
数据访问层,负责处理数据,与不同的数据库打交道
服务层,负责与其他系统进行数据交互和业务集成
我们在此四层架构的基础上进行一些扩展,就是将业务逻辑的方法抽象出业务接口层(IBLL)。
组件设计图
组件说明
以下是在架构图的框架下设计的9个组件。1. App——页面展示
因为是BS架构的项目,所以选择最新的MVC 3.0框架,使用Jquery脚本库。
2. BLL——业务逻辑
业务逻辑的操作,包括业务处理,事务等。
3. DAL——数据访问
数据库访问的操作,数据实体,数据校验,使用微软的EF技术。
4. IBLL——业务接口
业务逻辑层的方法对外暴露的接口和服务契约。
5. Common——公共组件
整个应用程序使用的公共辅助方法。
6. ModelingProject——模型设计
在此设计项目的图例,如:架构图。
7. WcfHost——服务宿主
为对外的服务提供宿主,使用微软WCF技术。
8. WFActivitys——工作流活动层
定义了工作流的活动,使用微软WF技术。
9. WFDesigner——工作流设计器
实施人员自由配置工作流的设计器,使用微软WPF技术。
我们约定:
调用关系请将架构图和组件图结合来看,如下:展示层(App)调用业务接口层(IBLL),业务接口层(IBLL)被业务逻辑层(BLL)实现,业务逻辑层(BLL)调用数据访问层(DAL),公共组件(Common)则是抽象了系统中可以共用和重用的部分,每个层都可以调用
增加了一个服务层(WcfHost),将业务接口层(IBLL)暴露给其他系统,使其方便与其他系统进行数据交互和业务集成
此处没有让展示层(App)调用服务层(WcfHost),是因为我们有共同的业务接口层(IBLL),也是为了性能的考虑
因为"数据实体"放在DAL层中,所以展示层(App)也需要引用数据访问层(DAL),但不许在展示层做数据库操作
注:本文转自腾飞刘的同名文章。
相关文章推荐
- 分析PetShop 4.0 的项目架构和分布式数据库设计
- 微软Asp.Net架构与项目团队管理建设模型分析
- 开源项目Lucene的架构详细解析----用软件构架分析的方法
- 项目视频讲解_基于SOA 思想下的WebService实战(电子商务需求,分析,架构全涉及,百万数据优化)
- (实战)Spring Portlet MVC处理请求分析以及如何快速架构一个Portlet项目
- 研究项目: JBoss架构分析
- b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释
- 公司项目使用的架构分析
- 项目的架构分析
- Android 项目架构设计分析
- 从不同架构的角度进行web项目的需求分析和系统设计
- C# 窗口项目中文件架构分析(一)
- C# 窗口项目中文件架构分析(一)
- 项目的架构分析
- Project Silk – Mileage Stats 项目架构初步分析(ASP.NET MVC 3) 推荐
- 微软Asp.Net架构与项目团队管理建设模型分析
- 项目中采用J2EE体系架构分析
- Project Silk – Mileage Stats 项目架构初步分析(ASP.NET MVC 3)
- 银行业务调度系统-心得1-项目需求分析和类图架构
- 开源项目Philm的MVP架构分析