设计模式怎样解决设计问题[1] 寻找合适的对象
设计模式怎样解决设计问题[1] 寻找合适的对象
面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、依赖关系、灵活性、性能、演化、复用等等,它们都影响着系统的分解,并且这些因素通常都是互相冲突的。
寻找合适的类是为了便于你设计出好用的类,包含了3种设计模式:
Composite模式(组合模式),State模式(状态模式)以及Strategy模式(策略模式)
Composite模式(组合模式)
http://www.cnblogs.com/jiese/p/3168844.html
组合模式以树形结构为主,其目的是为了让客户端使用的时候不用区分整体与局部之间的差异,整体与局部的调用方法一致(其实并不好用......)。
State模式(状态模式)
状态模式中,需要定义一个状态虚类,然后将不同状态的实现延迟到继承的子类当中,可以解除处理数据类的耦合度,非常实用。
项目源码:
https://github.com/YouXianMing/StatePattern
Strategy模式(策略模式)
策略模式与状态模式非常相似,不同的地方就在于,策略是一种算法,其目的是为了执行一种算法,不是将一个对象从一种状态改变到另外一种状态,其余使用方法类似,源码请参考状态模式源码