模板方法模式
定义一个算法执行的框架,而把具体的算法延迟到子类中来实现
假设一个公司的薪资计算中,包括计算基本工资,社会保险,个人所得税
实现河北分公司的算法
实现吉林分公司的算法
客户端计算河北的薪资
客户端计算吉林的薪资
定义一个算法执行的框架,而把具体的算法延迟到子类中来实现
假设一个公司的薪资计算中,包括计算基本工资,社会保险,个人所得税
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();