您的位置:首页 > 运维架构 > 网站架构

《企业应用架构模式》(POEAA)读书笔记 (3)-- 领域逻辑模式

2005-12-16 22:11 363 查看
  《企业应用架构模式》(POEAA)读书笔记 (1) -- 企业应用的特点
  《企业应用架构模式》(POEAA)读书笔记 (2)-- 表述

  领域逻辑模式分为 事物脚本、领域模型、表模块和服务层四种模式

  很多设计者喜欢把业务逻辑分成两类:领域逻辑和应用逻辑,前者只与问题领域有关、而后者有时被称为工作流逻辑

1. 事物脚本

  通过使用SQL语句或者存储过程返回记录集,记录集在系统的各层之间传递,在必要的时候可以通过更新记录集、使用SQL语句或者存储过程的方式更新数据库
  事物脚本胜在简单,通常应用在小型的项目和系统中,但业务逻辑越来越复杂,使用这一模式就越来越难以保持良好设计,因为在程序里面充斥了大量的SQL语句和命令,一旦数据结构发生更改或者需要对系统进行修改,可能会出现许多难以发现的问题

2. 领域模型

  领域模型是合并了行为和数据的领域的对象模型,领域模型创建了一张由互联对象组成的网,其中的每个对象都代表着某个有意义的个体,可能大到一个公司或者小到订单的一行

  简单领域可以使用活动记录,即简单的单条数据记录和单个对象对应的模式,一个对象对应数据库中的一个表

  复杂领域模型需要使用数据映射器,它可能使用继承、策略或者其他的设计模式,是一张由互联的细粒度对象组成的复杂网络,我们经常会看到:多个类通过交互来完成很简单的任务

  在面向对象技术中,通过从一个对象到另一个对象的连续传递可以把行为传递给最有资格处理的对象,它同时消除了很多条件判断行为

领域模型的要点在于隐藏数据库的存在

3. 表模块

  表模块是处理某一数据库表或视图中所有行的业务逻辑的一个实例

  表模块通过强类型或弱类型的数据集与对象结合使用,使用主键查询数据,是.Net中使用的很多的一种模式,主要使用主键、半对象化的操作数据---之所以说是半结构化,是因为所用的对象基本上只具有行为,通过传入参数执行特定的操作或者查询记录集,而几乎不承载任何数据

  在.net中,这种模式因为其容易和UI进行绑定和交互,所以倍受欢迎

4. 服务层

  通过一个服务层来定义应用程序边界,在服务层中建立一组可用的操作的集合,并在每个操作内部协调应用程序的响应

  服务层是一种组织业务逻辑的模式,有点类似于业务外观;WEB SERVICE通常担任着服务层的角色

  服务层可以通过领域外观方法和操作脚本方法实现,领域外观方法中,服务层以领域模型之上的瘦外观集合方式出现,负责实现外观的类中不不包含业务逻辑;而在操作脚本方法中 ,服务层由一组相对复杂的类组成,这些类直接实现应用逻辑,但将领域逻辑委托给封装好的领域对象类

  服务层的类的接口是粗粒度的,适合于远程调用。但是,在开始时,我们应该仅设计一个本地调用的服务层,在需要远程调用时,再在服务层上增加一个远程外观。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: