设计模式之模板方法模式
来源:互联网 发布:淘宝9.9元特价专区在哪 编辑:程序博客网 时间:2024/06/05 22:47
简介
模板模式(Template Pattern),定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
优点:
- 封装不变部分,扩展可变部分。
- 提取公共代码,便于维护。
- 行为由父类控制,子类实现。
缺点:
每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。
通用类图
例如:悍马汽车有多个不同的型号,每个型号有不同的地方也有相同的地方,这里就可以创建一个抽象的悍马车模型。类图如下:
java方法实现
定义抽象类
public abstract class HummerModel { public abstract void start(); public abstract void stop(); public abstract void alarm(); //这里每一辆汽车的使用的方式基本都是相同的,所以可以在该抽象类中实现 public void run(){ //发动汽车 this.start(); //喇叭的声音 this.alarm(); //停止 this.stop(); }}
定义A型号的车
public class HummerA extends HummerModel{ @Override public void start() { System.out.println("悍马A启动"); } @Override public void stop() { System.out.println("悍马A停止"); } @Override public void alarm() { System.out.println("悍马A的喇叭声"); }}
定义B型号的车
public class HummerB extends HummerModel{ @Override public void start() { System.out.println("悍马B启动"); } @Override public void stop() { System.out.println("悍马B停止"); } @Override public void alarm() { System.out.println("悍马B的喇叭声"); }}
场景类
public class Client { public static void main(String[] args){ HummerModel hA = new HummerA(); hA.run(); System.out.println("==============="); HummerModel hB = new HummerB(); hB.run(); }}
阅读全文
0 0
- 设计模式之模板方法模式模板方法模式
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- 设计模式之模板方法
- Java设计模式之模板方法模式
- SQLServer中char、varchar、nchar、nvarchar的区别:
- 事务提交大量sql与合并提交大量sql效率对比
- 液压油缸修复时对液压油选择的要求
- 随机抽奖
- SpringMVC自学系列(1)——入门了解
- 设计模式之模板方法模式
- SDE For PostgreSQL数据库改名方法
- Debian8.8开发环境(二)安装程序设置
- ACM:K: 抛硬币
- pytorch 入门
- hdu 4542 未知剩余系(反素数)
- 系统分析与设计--学习笔记4(建模应用)
- Word输入特殊符号
- java 设计模式-接口型模式