设计模式怎样解决设计问题[1] 寻找合适的对象
2015-04-19 09:36
471 查看
设计模式怎样解决设计问题[1] 寻找合适的对象
面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、依赖关系、灵活性、性能、演化、复用等等,它们都影响着系统的分解,并且这些因素通常都是互相冲突的。
寻找合适的类是为了便于你设计出好用的类,包含了3种设计模式:
Composite模式(组合模式),State模式(状态模式)以及Strategy模式(策略模式)
Composite模式(组合模式)
/article/5940524.html
组合模式以树形结构为主,其目的是为了让客户端使用的时候不用区分整体与局部之间的差异,整体与局部的调用方法一致(其实并不好用......)。
State模式(状态模式)
状态模式中,需要定义一个状态虚类,然后将不同状态的实现延迟到继承的子类当中,可以解除处理数据类的耦合度,非常实用。
项目源码:
https://github.com/YouXianMing/StatePattern
Strategy模式(策略模式)
策略模式与状态模式非常相似,不同的地方就在于,策略是一种算法,其目的是为了执行一种算法,不是将一个对象从一种状态改变到另外一种状态,其余使用方法类似,源码请参考状态模式源码
面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、依赖关系、灵活性、性能、演化、复用等等,它们都影响着系统的分解,并且这些因素通常都是互相冲突的。
寻找合适的类是为了便于你设计出好用的类,包含了3种设计模式:
Composite模式(组合模式),State模式(状态模式)以及Strategy模式(策略模式)
Composite模式(组合模式)
/article/5940524.html
组合模式以树形结构为主,其目的是为了让客户端使用的时候不用区分整体与局部之间的差异,整体与局部的调用方法一致(其实并不好用......)。
State模式(状态模式)
状态模式中,需要定义一个状态虚类,然后将不同状态的实现延迟到继承的子类当中,可以解除处理数据类的耦合度,非常实用。
项目源码:
https://github.com/YouXianMing/StatePattern
Strategy模式(策略模式)
策略模式与状态模式非常相似,不同的地方就在于,策略是一种算法,其目的是为了执行一种算法,不是将一个对象从一种状态改变到另外一种状态,其余使用方法类似,源码请参考状态模式源码
相关文章推荐
- 设计模式怎样解决设计问题[笔记]
- >--设计模式怎样解决设计问题
- 设计模式GRASP和GoF是怎样解决耦合的问题
- 设计模式学习1—使用单件模式解决对象重复申请问题
- 如何优化代码节约系统资源解决重复实例化对象的问题——神奇的单例模式(C#设计模式)
- 学习笔记-设计模式GRASP和GoF是怎样解决不同情况的耦合问题
- 《设计模式》学习笔记——设计模式怎样解决设计问题
- 设计模式怎样解决设计问题
- 设计模式怎样解决设计问题
- 设计模式怎样解决设计问题-目录
- 设计模式解决的问题
- 每天一个设计模式之Decorator模式解决类间组合爆炸问题
- JavaWeb中使用Filter以及装饰者设计模式解决全局编码格式问题
- 使用模板设计模式解决问题
- MVP设计模式解决内存泄漏问题
- 【怎样写代码】对象克隆 -- 原型模式(一):问题案例
- 【怎样写代码】确保对象的唯一性 -- 单例模式(一):问题案例
- C#设计模式之Observer观察者模式解决牛顿童鞋成绩问题示例
- C#设计模式之ChainOfResponsibility职责链模式解决真假美猴王问题实例
- C#设计模式之Strategy策略模式解决007大破密码危机问题示例