第十二章 将设计模式应用于模型

为什么没有第11章?

11章将了应用分析模式,没咋看懂,东西也不多。如有需要可以看《分析模式》一书。

一、模式:STRATEGY(也称POLICY)

why?

领域模型包含一些并非用于结局技术问题的过程,将它们包含进来是因为它们处理问题领域具有实际的价值。当必须从多个过程中进行选择时,选择的复杂性加上过程本身的复杂性会让局面失去控制。

how?

我们需要把过程中易变的部分提取到模型的一个单独的“策略中”。将规则和它所控制的行为分开。按照STRATEGY设计模式来实现规则可替换的过程。策略对象的多个版本表示了完成过程的不同方式。STRATEGY侧重于替换不同算法的能力,而当其作为领域模式时,其侧重点则表示概念的能力,这里的概念通常是指过程或者策略规则。

二、模式:COMPOSITE(组合)

why?

当嵌套容器的关联性没有在模型中反映出来时,公共行为必然会在层次结构的每一层重复出现,而且嵌套也变得僵化。客户必须通过不同的接口来处理层次结构中的不同层,尽管这些层在概念上没有区别。通过层次结构来递归的收集信息也变得非常复杂。

how?

定义一个COMOSITE的所有成员都包含在内的抽象模型。在容器上实现那些查询信息的方法时,这些方法返回由容器内容所汇总的信息。而“叶”节点则基于它们自己的值来实现这些方法。客户只需使用抽象类型,而无需区分“叶”和容器。

 

三、个人感悟

书中本章只介绍了两种模式。但是实际上可用的模式不止这些。前几章也提到了工厂方法模式等。设计模式和领域模型的设计可以结合来使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值