策略模式&&模板方法模式
来源:互联网 发布:炒股软件靠谱吗 编辑:程序博客网 时间:2024/05/21 15:46
原型:
策略模式(strategy):定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户public class Demo
{ String fields; do1() { //do some thing; } do2() { //do some thing; } do3() { //do some thing; } do() { d01(); d02(); d03(); }}
public class StrategyDemo{ //通过组合的方法,将原型中的功能抽象成类 DO1 justDo1; DO2 justDo2; DO3 justDo3;
setD01/2/3(D01/2/3 d1/2/3){this.justDo1/2/3=d1/2/3;} do() { justDo1.do1(); justDo2.do3(); justDo3.do3(); }}模板方法模式(template):定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。
public class TemplateDemo{ //强调的是do里面的执行步骤顺序(及有哪几步)是固定的(即一个模板),同时某一步骤(或几步)的细节,子类可以实现其定制化。 do() { do1();do2();if(hook1()){ do3();}hook2(); } do1() { //do some thing; } do2() { //do some thing; } abstract do3(); //钩子 hook1/2() { //don't any thing or just do some default thing; }}
区别:strategy 是通过组合的方式将所有功能(实现算法)定制化,它着重的是每一个算法(功能)可以替换;
而template是通过继承的方式来定制化一个固定流程的某一步,它着重的是该流程是固定的(模板),可以替换某一小步
- 策略模式&&模板方法模式
- 模板方法模式,策略模式
- 设计模式-模板方法模式 策略模式
- 策略模式还是模板方法模式?
- 策略模式&模板模式
- 策略模式模板模式
- 策略模式、中介者模式和模板方法模式
- 设计模式之模板方法模式和策略模式
- 设计模式之模板方法模式和策略模式
- java中的策略模式与模板方法
- Collections.sort() 方法是模板模式还是策略模式?
- android架构之模板方法模式和策略模式
- 模板方法模式与策略模式的区别
- Head First设计模式学习—模板方法、策略模式
- 模板方法模式和策略模式的比较
- JDBC | 模板模式&策略模式
- 模板模式和策略模式
- 模板和策略模式
- 从qt4到qt5,需要做的前期准备工作
- read的用法
- 织梦程序搬家更换空间简单几步搞定
- 分享一个最新最全的hadoop学习资料
- java基础编程练习5
- 策略模式&&模板方法模式
- angularjs
- asterisk11安装过程
- MYSQL--事务处理
- .net程序出现没有对Temporary ASP.NET Files”的写访问权限解决方法
- 取石子游戏+博弈
- 回溯法3--工作分配问题
- 查看系统信息(cpu,内存,硬盘,网卡)
- ICE应用小程序