类关系设计模式小结
来源:互联网 发布:飞升元武核心突破数据 编辑:程序博客网 时间:2024/05/05 13:00
前面简单的学习了策略模式、观察者模式、装饰者模式,三种模式主要用于处理类之间的关系,三种模式循序渐进,后面的模式可以说是对前一模式的完善
策略 模式:一对一的类关系,模式中存在一个核心和多个算法,但是核心只能从这多个算法中选择一个进行使用,也算是一个缺点,从而引入观察者模式
观察者模式:一对多的类关系,模式中存在一个主题和多个观察者,此时主题可以持有多个观察个,并使用其方法。但也可以发现,观察者的复用性较低,基本上绑定了主题。
装饰者模式:多对多的关系,模式中可以存在多个装饰者和多个组件,同时组件也可能是一个装饰者,一个装饰者可以装饰多个组件,一个组件也可以拥有多个装饰者。
每种模式都有其局限性,即适用于处理一定范围内的问题,没有通用的模式,只有解决问题的模式。
简单整理一下三种模式适用的【问题域】
策略模式:
观察者模式1.多个类只表现为行为不同,其他结构体基本相同,如工资结算,类结构区别多在计算方法中不同。
2.需要在不同情况下使用不同算法,或者在可预期内,算法实现方式会发生变化。
3.隐藏具体实现细节(将核心技术保留在自己手中)。
1.抽象个体有两个相互依赖的层面,封装这些对象,使之可以随意修改同时不会影响依赖关系之间的交互
2.一个对象的变化会影响其他对象,但是又不知道被影响对象的数量
3.对象有能力通知其他对象,但又不知道具体实现细节
装饰者模式
1.需要扩展一个类的功能,或者给一个类附加一个职责
2.动态的扩展类的功能
3.需要实现大量由基本功能排列组合而成的功能
4.不能使用继承的方式进行扩充时,一种情况是,可能有大量的独立扩展,使得子类数目过多;另一种情况,类定义被隐藏或不能用于生产子类
- 类关系设计模式小结
- 设计模式:常见类的关系小结
- 设计模式:常见类的关系小结
- 设计模式:常见类的关系小结
- ios--设计模式--类关系
- 设计模式--类的关系
- 【设计模式】设计模式中类的关系表示方法
- 设计模式(一)设计模式中类的关系
- 设计模式之------设计模式中类的关系
- 设计模式总结01----设计 模式中类的关系
- 设计模式小结
- 设计模式简单小结
- 设计模式学习小结
- [ZZ]设计模式小结
- 《深入浅出设计模式》小结
- 设计模式期中小结
- 设计模式小结
- 设计模式小结
- C++中引用传递与指针传递区别
- java reflect反射总结
- js onclick事件传this的一点经验
- UVa 623 500!
- 佛教四大经典爱情故事
- 类关系设计模式小结
- Protocol 和 Delegate
- zookeeper3.4.6与activemq5.9.0整合
- 用liveCD/USB安装完Ubuntu12.04系统,重启后出现 error:out of disk grub rescue 解决方法
- MessageDigest简介
- kohana nginx的配置
- 黑马程序员_java集合框架简单总结
- jQuery之addClasas与removeClass使用实例
- iOS "The sandbox is not in sync with the Podfile.lock"解决方案