设计模式怎样解决设计问题[1] 寻找合适的对象

设计模式怎样解决设计问题[1] 寻找合适的对象

 面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、依赖关系、灵活性、性能、演化、复用等等,它们都影响着系统的分解,并且这些因素通常都是互相冲突的。

寻找合适的类是为了便于你设计出好用的类,包含了3种设计模式:

Composite模式(组合模式),State模式(状态模式)以及Strategy模式(策略模式)

Composite模式(组合模式)

http://www.cnblogs.com/jiese/p/3168844.html

组合模式以树形结构为主,其目的是为了让客户端使用的时候不用区分整体与局部之间的差异,整体与局部的调用方法一致(其实并不好用......)。

State模式(状态模式)

状态模式中,需要定义一个状态虚类,然后将不同状态的实现延迟到继承的子类当中,可以解除处理数据类的耦合度,非常实用。

项目源码:

https://github.com/YouXianMing/StatePattern

Strategy模式(策略模式)

策略模式与状态模式非常相似,不同的地方就在于,策略是一种算法,其目的是为了执行一种算法,不是将一个对象从一种状态改变到另外一种状态,其余使用方法类似,源码请参考状态模式源码

原文地址:https://www.cnblogs.com/YouXianMing/p/4436563.html