#设计模式
===
##组合模式
组合模式,Composite Pattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式.
组合模式可以用'部分-整体'的形式表示.通过Add,Remove,GetChild等方法来操作整体中的部分.
- 结构型模式
- 定义了包含基本对象和组合对象的类层次结构。这种结构能够灵活控制基本对象与组合对象的使用。
- 简化客户代码。基本对象和组合对象有一致性,用户不用区分它们。
- 使得更容易添加新类型的组件。
- 使你的设计变得更加一般化。
===
##策略模式 定义一系列算法,把他们独立封装起来,并且这些算法之间可以相互替换。策略模式主要是管理一堆有共性的算法,客户端可以根据需要,很快切换这些算法,并且保持可扩展性.
策略模式实现起来,主要需要3部分:抽象接口、实现算法、上下文
最简单的策略模式的实现方式,按照功能分为3个部分,定义算法抽象接口,然后根据具体算法实现这些接口,最后需要定义一个上下文对象。这里的上下文对象主要用来切换算法,上下文对象里面也是针对接口编程,具体算法实现被封装了
- 避免多重条件语句
- 更好的扩展性
- 客户必须了解每种策略的不同
- 增加了对象数目
- 只适合扁平的算法结构
===
##单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。