公司项目使用的架构分析

开发 项目管理
在一个好的架构下编程,不仅对于开发人员是一件赏心悦目的事情,更重要的是软件能够表现出一个健康的姿态;而架构设计的不合理,不仅对于开发人员是一件受苦受难的事情,软件本身的质量更是受到严重威胁。

在一个好的架构下编程,不仅对于开发人员是一件赏心悦目的事情,更重要的是软件能够表现出一个健康的姿态;而架构设计的不合理,不仅对于开发人员是一件受苦受难的事情,软件本身的质量更是受到严重威胁。

架构设计图

架构说明

一个标准的四层架构包含如下四个部分:

  1. 展示层,负责系统与客户的交互
  2. 业务逻辑层,负责处理系统的业务
  3. 数据访问层,负责处理数据,与不同的数据库打交道
  4. 服务层,负责与其他系统进行数据交互和业务集成

我们在此四层架构的基础上进行一些扩展,就是将业务逻辑的方法抽象出业务接口层(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技术。

我们约定:

调用关系请将架构图和组件图结合来看,如下:

  1. 展示层(App)调用业务接口层(IBLL),业务接口层(IBLL)被业务逻辑层(BLL)实现,业务逻辑层(BLL)调用数据访问层(DAL),公共组件(Common)则是抽象了系统中可以共用和重用的部分,每个层都可以调用
  2. 增加了一个服务层(WcfHost),将业务接口层(IBLL)暴露给其他系统,使其方便与其他系统进行数据交互和业务集成
  3. 此处没有让展示层(App)调用服务层(WcfHost),是因为我们有共同的业务接口层(IBLL),也是为了性能的考虑
  4. 因为"数据实体"放在DAL层中,所以展示层(App)也需要引用数据访问层(DAL),但不许在展示层做数据库操作

下一个章节我们一起来探讨一下这个架构的数据访问层的具体实现。

此架构的代码实现,请参考 http://files.cnblogs.com/langben/www.langben.com.zip

原文链接:http://www.cnblogs.com/langben/archive/2012/07/17/langben.html

责任编辑:林师授 来源: 博客园
相关推荐

2012-07-18 09:29:08

架构

2011-03-09 15:07:48

LAMP网站架构

2018-08-27 15:02:27

预测分析软件

2020-07-20 14:00:26

架构运维技术

2021-03-30 11:06:29

数据驱动项目经理CIO

2018-04-25 10:05:09

AI微服务架构算法

2019-09-27 09:56:31

软件技术硬件

2012-06-21 09:50:53

ERP架构

2012-02-13 14:41:50

Titanium架构分析

2021-11-04 05:53:02

Rise with S云端

2021-02-05 17:47:53

GraphQLAPI开发

2017-12-26 14:16:32

大数据数据分析Hadoop

2013-03-20 10:31:37

微软Netbreeze收购

2020-09-19 17:54:04

Netflix

2011-12-26 10:10:08

CAPSIntel MIC架构

2021-11-08 06:57:35

Redis架构设计

2015-09-17 11:32:56

NeutronSDN虚拟网络

2021-10-21 13:53:35

美国零信任架构

2019-12-12 15:39:28

大数据IT互联网

2023-05-14 22:00:01

点赞
收藏

51CTO技术栈公众号