读书笔记--大话设计模式

来源:互联网 发布:软件系统安全架构 编辑:程序博客网 时间:2024/05/16 07:15

 

《大话设计模式》的确写的很不错。 把晦涩解懂的设计模式,讲的通俗易懂。 边读边用Evernote做笔记,
把印象深刻的整理了一下。

 

先补习一下UML的图示法:继承,接口,组合,依赖,关联

 

策略模式(Strategy)
定义一系列算法,所有算法完成的都是相同的工作,只是实现不同。减少算法与使用类之间的藕合。计费策略会用到很多。


工厂模式(Factory Mode)
提供一个方法供客户端调用,生成不同的对象。会话就是使用的工厂模式。由工厂生成不同的会话对象,会话又由基类的接口统一管理

 

 

依赖倒转(里氏替换LSP)
让调用者不关心子类的具体实现。
由于是用的是接口,实现都在子类。依赖倒转其实可以说是面向对象的标志,即程序中所有的依赖关系都终止与抽象类或接口,那就是面向对象,反之就是过程设计。

 

 

观察者模式,也叫发布与订购模式(Publish/Subscribe) 
事件委托(Event delegate) 
定义了一种一对多的依赖,让多个观察者监听某一个主题,并使它们自己更新自己。
这两个模式是很相近。 尤其是事件委托,在WINDOWS桌面编程当中用的非常多。
感觉上,对于监控与告警类的需求,可以用这种模式。 当出现一类严重异常时,发
志一些告警消息。

 

 

 

中介者模式(Mediator)
用一个中介来封装一系列的对象交互。下面的图的对比很形象。
这个模式,让我想起了默认网关与路由, 对于交互复杂的情况下,使用一个中介模块,实现路由转发,会将各个模块的逻辑复杂度降低。

 

 

命令模式(Command)
1)容易设计命令队列
2)容易记录命令日志 
3)允许接收方否决请求
命令模式,把请求的对象与执行的对象分割开。
书上举的例子很形象,路边的烧烤摊,老板手忙脚乱。 烧烧店有服务员,下订单,变更订单, 下单,收费都很顺。
 
0 0
原创粉丝点击