天天看点

设计模式应用场景

decorator
窗口修饰(四人帮,设计模式);
星巴克咖啡记账(head first设计模式);
电子票据修饰(设计模式精解);
IPMI协议客户端实现(本人工作),
JDK中的流的封装;
个人感觉咖啡记账采用decorator模式,不如采用表格等方法好,算是一个不太恰当的例子。像IPMI协议实现更多是由底层的数据结构驱动,天然地采用decorator模式
iterator:
STL中各种Iterator object;
python中generator;
java中的Iteratble interface
Adapter:
各种跨平台的中间件,工具包,库等,比如ACE(通讯,cobra,中间件),QT(UI),wxWidgets(UI),python,java等跨平台语言的底层实现OS功能的模块。
在java的跨平台UI库中,swing
Facade:
该模式并不限于面向对象设计,比如zip压缩库(C language),虽然是用C实现的压缩库,但里面提供了2个层次的接口,一个比较低层,接口比较复杂,但是提供了更强大的功能;另一个接口数量少,使用方便,比较高层,方便一般用户使用。

继续阅读