企业应用架构模式学习(八):通盘考虑

前面七章节介绍了系统的一个方面并探讨了处理它的几种选择,现在我们需要把所有方面放到一起通盘考虑,在设计企业应用时,要使用哪些模式。

本章内容主要是对全书中所涉及模式的一个初步介绍和认识。在架构中要对几个方面做研究:

  • 极限编程(beck XP)
  • 持续集成(Fowler CI)
  • 测试驱动的开发(beck TDD)
  • 重构(Fowler refactoring)

从领域层开始

这个过程可以从决定领域逻辑方法开始,主要有三种可选

  • 事务脚本(最简单,对事务逻辑都很好地封装在功能完善的脚本中)
  • 表模块(折中)
  • 领域模型(最难,面临的问题异常复杂时,选用)

深入到数据层

一旦选择了领域层,就必须决定如何与数据源进行联系。

事务脚本的数据源

两个模式可选:行数据入口和表数据入口

表模块的数据源

表模式有一个好的记录集框架,同时有表数据入口与之配置良好。

领域模型的数据源

简单的领域模型,使用活动记录即可,也可使用表数据入口或者行数据入口。

复杂的领域模型,使用数据映射器。确保领域模型与其他各层独立。

表现层

表现层与后面领域逻辑层分离。

其他分层方式

  1. Brown分层模型  

Brown

Fowler

表现层

表现层

控制层/中介层

表现层(应用控制器)

领域层

领域层

数据映射层

数据源层(数据映射器)

数据源层

数据源层

   

  1. Core J2EE 分层模型

       

Core J2EE

Fowler

客户层

运行于客户端的表现层

表现层

运行于服务器端的表现层

业务层

领域层

集成层

数据源层

资源层

与数据源层通信的外部资源

   

  1. Microsoft DNA 分层模型

   

Microsoft DNA

Fowler

表现层

表现层

业务层

领域层

数据访问层

数据源层

   

  1. Marinescu分层模型

   

Marinescu

Fowler

表现层

表现层

应用层

表现层(应用控制器)

服务层

领域层(服务层)

领域层

领域层(领域模型)

持久层

数据源层

   

  1. Nilsson 分层模型

       

Nilsson

Fowler

顾客层

表现层

顾客帮助层

表现层(应用控制器)

应用层

领域层(服务层)

领域层

领域层(领域模型)

持久访问层

数据源层

公共存储过程层

数据源层

私有存储过程层

数据源层

   

  

你可能感兴趣的:(企业应用架构模式学习(八):通盘考虑)