java模式:模板模式的简单理解
2016-09-15 16:29
183 查看
1.模板模式就是用虚类作为基类将几个要执行差不多操作中相同的部分提取出来,不同的部分各自实现!
2.下面给出简单栗子:
我要进行的操作是将大象和狐狸放入冰箱,放入大象和狐狸有相同的步骤:开冰箱和关冰箱,这个操作在基类中实现就好,而不同的在于具体操作部分:
一,大象太胖了,要测量并切片才能放入冰箱
二,狐狸太臭了,要洗干净并擦干
所以程序如下:
1.基类:BasicFridgeOperation.java
2,放入大象类:OperateElephant.java
3,放入狐狸类:OperateFox.java
4,测试:OperationTest.java
5,输出结果:
,that,s all.
2.下面给出简单栗子:
我要进行的操作是将大象和狐狸放入冰箱,放入大象和狐狸有相同的步骤:开冰箱和关冰箱,这个操作在基类中实现就好,而不同的在于具体操作部分:
一,大象太胖了,要测量并切片才能放入冰箱
二,狐狸太臭了,要洗干净并擦干
所以程序如下:
1.基类:BasicFridgeOperation.java
package com.learn.templateMode; /** * Created by garfield on 9/15/2016. */ public abstract class BasicFridgeOperation { private void openFridge(){ System.out.println("open the fridge door"); } /** * different parts about one of the whole steps * the subclass will make different implements */ protected abstract void operateFridge(); private void closeFridge(){ System.out.println("close the fridge door"); } /** * the same operation steps */ public void operation(){ openFridge(); operateFridge(); closeFridge(); } }
2,放入大象类:OperateElephant.java
package com.learn.templateMode; /** * Created by garfield on 9/15/2016. */ public class OperateElephant extends BasicFridgeOperation { /** * same function but different implement */ protected void operateFridge() { System.out.println("measure the elephant"); System.out.println("slice up the elephant"); System.out.println("put the elephant in"); } }
3,放入狐狸类:OperateFox.java
package com.learn.templateMode; /** * Created by garfield on 9/15/2016. */ public class OperateFox extends BasicFridgeOperation { /** * same function but different implement */ protected void operateFridge() { System.out.println("clean up the fox"); System.out.println("dry the fox"); System.out.println("put the fox in"); } }
4,测试:OperationTest.java
package com.learn.templateMode; /** * Created by garfield on 9/15/2016. */ public class OperationTest { public static void main(String[] args) { System.out.println("====== begin to deal with the elephant========="); BasicFridgeOperation basicFridgeOperation = new OperateElephant(); basicFridgeOperation.operation(); System.out.println("====== begin to deal with the fox========="); BasicFridgeOperation basicFridgeOperation2 = new OperateFox(); basicFridgeOperation2.operation(); } }
5,输出结果:
====== begin to deal with the elephant========= open the fridge door measure the elephant slice up the elephant put in the elephant close the fridge door ====== begin to deal with the fox========= open the fridge door clean up the fox dry the fox put in the fox close the fridge door
,that,s all.
相关文章推荐
- Java设计模式简单理解
- Java/Android单例模式的简单理解
- 设计模式-java实现 简单易理解Demo[待续]
- 深入理解Java中没那么简单的单例模式
- socket与JAVA设计模式(简单理解)
- 简单理解遵循接口隔离原则的Java设计模式编程
- JAVA模板方法设计模式(从现实生活角度理解代码原理)
- Java中抽象类:模板设计模式与简单工厂设计模式
- 简单理解 Java Proxy 代理模式
- 我理解的--java模板方法模式
- 简单Java代码实例助你通俗易懂的理解什么是装饰(者)设计模式 (Decorator)
- JAVA模板方法设计模式(从现实生活角度理解代码原理)
- 设计模式简单介绍(java语言)-- 模板方法模式
- [置顶] java 设计模式理解 (1)简单工厂模式
- *Java在抽象类的简单应用:模板设计模式
- 代理模式,简单(静态)工厂模式,单例模式,模板方法模式个人理解
- java多线程结合单例模式实例,简单实用易理解
- 用最简单的例子理解模板方法模式(Template Method Pattern)
- 简单理解常用设计模式(七)模板方法模式
- java策略模式(strategy pattern)的简单理解