模板方法模式
定义一个算法执行的框架,而把具体的算法延迟到子类中来实现
假设一个公司的薪资计算中,包括计算基本工资,社会保险,个人所得税
public abstract class SalaryTemplate{
public void computer(){
computerSalary();
computerInsurance();
computerTax();
}
public abstract void computerSalary();
public abstract void computerInsurance();
public abstract void computerTax();
}
实现河北分公司的算法
public class HeBeiSalary extends SalaryTemplate()
{
public void computerSalary(){....}
public void computerInsurance(){....}
public void computerTax(){....}
}
实现吉林分公司的算法
public class JiLinSalary extends SalaryTemplate()
{
public void computerSalary(){....}
public void computerInsurance(){....}
public void computerTax(){....}
}
客户端计算河北的薪资
SalaryTemplate salaryTemplate = new HeBeiSalary();
salaryTemplate.computer();
客户端计算吉林的薪资
SalaryTemplate salaryTemplate = new JiLinSalary();
salaryTemplate.computer();
分享到:
相关推荐
在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都...为了提高代码的复用性和系统的灵活性,可以使用一种称之为模板方法模式的设计模式来对这类情况进行设计,在模板方法模式中,将实现功能
模板方法模式是设计模式行为型中最简单的一种设计模式。在实际中你甚至可能经常用到,只是你自己不知道它是一种设计模式罢了。 模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得...
7模板方法模式1
此时,每种策略的实现就可以用模板方法模式,抽象出公共的顺序 如果不用模板方法,代码将是这样的 public class StrategyA{ public void calculate() { System.out.println(通用的计算逻辑); System.out....
1.模板方法模式把核心方法封装在了基类中,保证了方法的共享 2.模板方法模式规定了子类定义方法的规则,对子类行为进行了约束,让子类可以保证 3.子类需要对父类方
模板方法模式是基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一。在模板方法模式中,可以将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。 在模板方法模式中,我们...
模板方法模式是一种行为设计模式,它在一个方法中定义算法的骨架,将一些步骤延迟到子类中实现。 具体来说,模板方法模式的关键特点包括: 抽象类:在抽象类中定义一个模板方法,该方法给出了算法的框架。 具体...
设计模式C++学习之模板方法模式(Template Method)
用模板方法模式实现Menu的设计,根据客户输入的要求完成: ①可以选择饮料:咖啡或者茶; ②根据顾客要求,其饮料是否要添加进调料 “y”就表示要在所选择咖啡中添加sugar,milk; 或者所选择茶中添加lemon; “n”表示...
模板方法模式中会用到抽象模板,它的方法分为两类: 基本方法,也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。 模板方法,可以有一个或多个,一般是一个具体方法,也就是一个框架,实现基本方法的...
模板方法模式Demo
本文实例讲述了Python设计模式之模板方法模式。分享给大家供大家参考,具体如下: 模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的...
模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。
主要介绍了PHP设计模式之模板方法模式,结合实例形式详细分析了php设计模式中模板方法模式的概念、原理、定义、用法及相关注意事项,需要的朋友可以参考下
再例如:去餐厅吃饭,餐厅给提供的一套模板就是:先点餐,等待,吃饭(核心部分我们子类完成),买单这里吃饭是属于子类来完成的,其他的点餐,买单则是餐厅提供给我们客户