php,java实现模板方法模式
来源:互联网 发布:单片机大学生毕业设计 编辑:程序博客网 时间:2024/04/30 06:53
场景:当有很多种类的操作时,并且每种操作都有h很多小的步骤,但是他们的总体算法逻辑相同,这种情况适合模板方法模式
类图
java实现
模板方法抽象类
public abstract class AbstractModule { public final void moduleFanction(){ step1(); step2(); } protected abstract void step1(); protected abstract void step2();}
ublic class Module1 extends AbstractModule { @Override protected void step1() { } @Override protected void step2() { }}
public class Module2 extends AbstractModule { @Override protected void step1() { } @Override protected void step2() { }}
php实现
abstract class AbstractModule{ public final function moduleFunction() { $this->step1(); $this->step2(); } protected abstract function step1(); protected abstract function step2();}class Module1 extends AbstractModule{ protected function step1() { echo 'module1 step1'; } protected function step2() { echo 'module1 step2'; }}class Module2 extends AbstractModule{ protected function step1() { echo 'module2 step1'; } protected function step2() { echo 'module2 step2'; }}$module1 = new module1;$module1->moduleFunction();$module2 = new Module2;$module2->moduleFunction();
扩展:当有需求是step1一定执行,但是step2,在一定条件下才执行,就要设置钩子方法来控制step2的执行
public abstract class AbstractModule { public final void moduleFanction(){ step1(); if(isHook()){ step2(); } } protected abstract void step1(); protected abstract void step2(); protected boolean isHook(){ return true; }}
然后子类根据具体额业务逻辑重写isHook方法来控制父类的step2的执行
0 0
- php,java实现模板方法模式
- 模板方法模式(java实现)
- PHP 模板方法模式
- Java模板方法模式中的HookMethod实现
- Java 实现模板方法(TemplateMethod)模式
- Java 模板方法模式的实现
- 模板方法模式(java语言实现)
- Java模板方法模式中的HookMethod实现
- java模板方法模式
- 模板方法模式 Java
- JAVA 模板方法模式
- Java 模板方法模式
- java--模板方法模式
- java模板方法模式
- java模板方法模式
- Java 模板方法模式
- java模板方法模式
- java模板方法模式
- gSOAP+VC 研发客户端
- android启动的四种模式
- Unity3D官方教程——Survival Shooter学习记录
- 人脸识别人证识别集成接口-SDK
- 弹性盒模型
- php,java实现模板方法模式
- ch6-模块
- 重建二叉树
- Android自定义spinner下拉框实现的实现
- Java数据结构_散列
- beego项目运行过程
- 大学感悟【十】
- 剑指offer 复杂链表的复制
- 线程死亡的监控与回调