1.4模板方法模式

简介: 1.概念:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变算法的结构即可重新定义该算法的某些特定步骤。 2.模板方法的特点:      当代码环境中,子类们的行为方法存在重复,通过抽取封装不变的行为到父类,从而去除子类重复代码,代码因重复利用变得简洁。

1.概念:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变算法的结构即可重新定义该算法的某些特定步骤。


2.模板方法的特点:
     当代码环境中,子类们的 行为方法存在重复,通过抽取封装 不变的行为到父类,从而去除子类重复代码,代码因重复利用变得简洁。    
 
    
     模板方法非常简单,其核心是利用了继承机制,AbstractClass是一个抽象模板,包括 基本方法和模板方法。其中基本方法是一个已经实现的虚方法,模板方法是具体的方法,他们构成了顶级的逻辑骨架。而逻辑的具体操作延迟到具体的子类ConcreteClass来实现。
 
代码示例:
public class TestPaper  
{
      //即方法骨架,一般是具体方法,可以一个或多个,实现对基本方法的调用。
     protected void  TestQuestion1()
     {
          Console.WriteLine("1+1=?");
          Console.WriteLine("答案:"+Answer1());
     } 
 
      //基本方法,
      //由子类实现,并在模板方法中被调用
     public virtual string Answer1() { return ""; } 
      public virtual string Answer2() { return ""; } 
     ……
}
 
public class StudentATestPaper:TestPaper
{
     protected override string Answer1() {return "A"; }
     protected  override string Answer2() {return "B"; }
}
 
客户端:
StudentATestPaper stuA=new StudentATestPaper();
stuA.TestQuestion1();
stuA.TestQuestion2();

 

学习所得:
     编码中,同样的代码出现过两次,就需要适当的对设计产生怀疑。     

 
 
 
 
目录
相关文章
|
设计模式 存储 算法
行为型设计模式02-模板方法模式
行为型设计模式02-模板方法模式
56 0
|
5月前
|
设计模式 算法
模板方法模式
【8月更文挑战第22天】
34 0
|
5月前
|
设计模式 算法
什么是模板方法模式?
【8月更文挑战第22天】
49 0
|
设计模式 算法 Java
设计模式-行为型模式:模板方法模式
设计模式-行为型模式:模板方法模式
|
算法 前端开发
关于模板方法模式我所知道的
关于模板方法模式我所知道的
100 0
|
设计模式 开发框架 算法
设计模式之模板方法模式
设计模式之模板方法模式
98 0
|
算法 Java 程序员
行为型模式-模板方法模式
行为型模式-模板方法模式
99 0
|
设计模式
我学会了,模板方法模式
模板方法模式属于行为型模式,这个类型的设计模式总结出了 类、对象之间的经典交互方式,将类、对象的行为和使用解耦了,花式的去使用对象的行为来完成特定场景下的功能。
82 0
我学会了,模板方法模式
|
SQL 设计模式 Java
|
存储 设计模式 算法