学习strategy模式
来源:互联网 发布:数据库增删改查语句 编辑:程序博客网 时间:2024/06/06 06:32
怎样处理新需求的变更?
原则:
1.针对接口编程,而不要针对实现编程。
2.优先使用对象组合,而不是使用继承。
3.封装变化概念,保证改变不引起重新设计。
为每种情况产生一个分支,代码冗余而且可读性差、分支蔓延、变化伸缩性差。
继承导致的缺陷:
1.特化技术产生太深的继承层次,导致程序难以理解,且弱内聚以及冗余。
对象聚集适应变化的过程
1.发现变化并封装,创建抽象类定义概念上如何完成计算,然后为具体情况特化一个版本。
2.组合取代继承,让处理变化的类聚集在主类上。
两者继承的区别:
如A是处理订单类,不同的产品有不同的计算折扣方法。
设计模式思想是设计处理接口B,从B派生处理类C,B内聚在A上。
传统方法从A派生D,让D处理不同的商品折扣方法。
- Strategy模式学习笔记
- 学习strategy模式
- 设计模式学习20 Strategy
- Strategy策略模式 ---设计模式学习
- 设计模式学习--策略模式(Strategy Pattern)
- 设计模式学习-Strategy策略模式
- 设计模式学习笔记--策略(Strategy)模式
- 设计模式学习--策略模式(Strategy Pattern)
- 设计模式之策略模式strategy学习
- 深入浅出设计模式-学习笔记(1) Strategy
- Design Patterns学习笔记:Strategy策略模式
- 设计模式学习—Strategy(策略)
- Strategy策略模式Java示例学习
- 设计模式学习笔记--Strategy、State
- 学习一策略模式(strategy)
- strategy模式
- Strategy模式
- Strategy模式
- poj 3691
- 使用jQuery实现-跨域-提交表单数据
- 今天注册了csdn的博客,期待在这里能有新的突破
- jquery关于表格隐藏和显示问题
- C# GDI+双缓冲技术(防止移动时,窗口闪烁)
- 学习strategy模式
- Drupal7学习笔记之Theme
- VoIP中语音压缩编码技术的研究与性能分析
- 【图论07】线段树 1001 敌兵布阵
- VC++ BSTR、LPSTR、LPWSTR 区别与联系(学习笔记)
- 从咖啡谈装饰模式
- Myeclipse安装配置SVN
- kthread_create与kernel_thread的区别
- VoIP技术之回声消除技术