zoukankan      html  css  js  c++  java
  • 模板模式:试卷考题实例

    模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类不改变一个算法的结构即可重定义该算法的某些特定步骤。
    模板方法模式通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势,提供了一个很好的代码复用平台。

    //抽象类,其实也就是一抽象模板,定义并实现了一个模板方法,这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,放到子类中实现
    abstract class AbstractClass
    {

    //一些抽象行为,放到子类中实现
    public abstract void OriginalOperation1();
    public abstract void OriginalOperation2();
    //模板方法,给出了逻辑的骨架,而逻辑的组成是一些相应的抽象操作,她们都推迟到子类实现
    public void TemplateMethod()
    {

    OriginalOperation1();
    OriginalOperation2();
    Console.WriteLine("");

    }

    }

    class ConcreteClassA : AbstractClass

    {

    public override void OriginalOperation1()
    {

    Console.WriteLine("具体类A方法1实现");

    }

    public override void OriginalOperation2()
    {

    Console.WriteLine("具体类A方法2实现");

    }

    }
    class ConcreteClassB : AbstractClass
    {

    public override void OriginalOperation1()

    {

    Console.WriteLine("具体类B方法1实现");

    }

    public override void OriginalOperation2()
    {

    Console.WriteLine("具体类B方法2实现");

    }

    }


    客户端代码:
    static void Main(string[] args)
    {

    AbstractClass c;
    c = new ConcreteClassA();
    c.TemplateMethod();

    c = new ConcreteClassB();
    c.TemplateMethod();
    Console.ReadKey();

    }

  • 相关阅读:
    交互式监控工具glances
    性能测试工具Locust
    CentOS 7 安装 PostgreSQL 教程
    Vue表单
    Vue事件处理
    Vue列表渲染
    Vue条件渲染
    Vue中class与style绑定
    GIT命令操作
    Git简介
  • 原文地址:https://www.cnblogs.com/xiaoweigogo/p/7793595.html
Copyright © 2011-2022 走看看