对strategy,bridge,decorate模式的理解
来源:互联网 发布:centos nginx安装目录 编辑:程序博客网 时间:2024/04/30 09:44
区分两个模式的方法应该从解决的问题上看,也就是从context上分析。
我觉得简单的说Strategy模式是从N变化为1+N,原来有N个类但是这N个类里面只有某个算法的区别,我们把N个算法提取出来就变成了1个抽象类(不要理解成Java中的abstract class,而是这个抽象类表示一个概念)和N个实现类(同理,不要理解成对前面那个抽象类的实现,而是辅助实现抽象类的某个功能的一个继承体系)。注意这里只有一个继承体系。
而Bridge模式是从M×N变化为M+N,原来系统中有M×N个类,但是从中可以提取出N个算法(或者辅助类)和M个主体(我想不出一个好的名次)。这样构成了两个继承体系,N个算法(颜料)构成一个继承体系,M个主体类(毛笔的不同型号)构成一个继承体系。两个继承体系可以独立的变化。
从解决的问题上看,二者都要解决重复代码的问题,但是前者不强调锥把的变化,而后者强调,并且强调锥头和所有锥把的兼容。我认为这才是二者的根本区别。
装饰类模式的理解,假设有M个主类,N个可以装饰在主类上装饰类,装饰类之间对主类的装饰可以有相互之间的制约关系,也可以没有制约关系,M*(N!)=>M+N+1,这里的1表示N个装饰类的抽象父类。
- 对strategy,bridge,decorate模式的理解
- 对Bridge模式的理解
- 对Bridge模式的理解
- 对Bridge模式的理解
- 对Bridge模式的理解
- strategy模式与 bridge模式的区别
- Bridge、Visitor、State和Strategy的理解
- bridge 桥接模式 和 strategy模式的区别
- Strategy策略模式和State/Bridge模式的区别
- 对Factory,strategy,template模式的总结
- Strategy、Template Method和Bridge模式
- 理解Xen的network-bridge模式
- 理解Xen的network-bridge模式
- 理解Xen的network-bridge模式
- 理解Xen的network-bridge模式
- 理解Xen的network-bridge模式
- 四种很相似的设计模式(State,Strategy,Bridge,Visitor)的区别
- 生成器、桥梁、策略和状态(Builder, Bridge, Strategy and State)模式的区别
- Study from open source code -- malloc trace (1)
- VC++中使用ADO方式操作ACCESS数据库(转)
- 掌握三条简单net命令保证网络安全检测
- codesmith首字大写会自动删除掉下划线
- AT指令发送PDU短信详解
- 对strategy,bridge,decorate模式的理解
- 网站的视觉路径和版式设计
- 央企掀金融控股平台打造热潮
- curl 的使用
- ZOJ 2313 Andrew Stankevich's Contest #1
- 网站压力测试
- vc怎样在picture control中添加图片
- DataGridView 选择多行并删除
- 代码跨平台,怎么就成了忽悠?