zoukankan      html  css  js  c++  java
  • 模板方法模式

    模板方法Gof的定义是:在一个方法里定义算法的骨架,将一些步骤延迟到其子类。如下图:

     

     

    AbstractClass主要是定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这有点像C语言中的一个“钩子(hook)”;同时将公用的代码移植到TemplateMethod中,实现的代码的公用。

    代码:

        public abstract class AbstractClass
        {
            protected abstract void operation1();
            protected abstract void operation2();
            public void templateMethod()
            {
                this.operation1();
                this.operation2();
            }
        }
    
        public class ConcreteClass : AbstractClass
        {
            protected override void operation1()
            {
                Console.Write("ConcreteClass  operation1");
            }
            protected override void operation2()
            {
                Console.Write("ConcreteClass  operation2");
            }
        }

    调用:

      AbstractClass ac = new ConcreteClass();
      ac.templateMethod();
  • 相关阅读:
    jquery-validate v1.19.2 源码分析
    jquery之遍历-Section04
    jquery之元素-Section03
    jquery之效果-Section02
    jquery之入门-Section01
    CSS世界(七)思维导图
    shell文件处理awk
    jquery插件懒加载
    jquery插件改变背景色
    jquery多库共存
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/3406532.html
Copyright © 2011-2022 走看看