zoukankan      html  css  js  c++  java
  • 浅尝DesignPattern_Template

    UML:

  • AbstractClass  ()
    • defines abstract primitive operations that concrete subclasses define to implement steps of an algorithm
    • 定义一个抽象的原始操作,来使子类实现算法步骤
    • implements a template method defining the skeleton of an algorithm. The template method calls primitive operations as well as operations defined in AbstractClass or those of other objects.
    • 实现一个定义了算法节后的模版方法.该模版方法需要原始操作和抽象类中定义的操作.
  • ConcreteClass  ()
    • implements the primitive operations to carry out subclass-specific steps of the algorithm
    • 实现原始操作,来实现子类的特殊操作
    1 abstract class AbstractClass
    2 {
    3 public abstract void PrimitiveOperation1();
    4 public abstract void PrimitiveOperation2();
    5
    6 public void TemplateMethod()
    7 {
    8 PrimitiveOperation1();
    9 PrimitiveOperation2();
    10 Console.WriteLine("");
    11 }
    12 }
    代码
    代码
    代码
    1 #region Template
    2 AbstractClass aA = new ConcreteClassA();
    3 aA.TemplateMethod();
    4 AbstractClass aB = new ConcreteClassB();
    5 aB.TemplateMethod();
    6 #endregion

    模版方法模式:定义一个操作中的算法股价,而将一些步骤延迟到子类中.模版方法是的子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤.

    模版方法模式是通过把不变行为搬移到超类,取出子类中的重复代码来体现它的优势.它提供了一个很好的复用平台.

查看全文
  • 相关阅读:
    Android开发利用shareSDK等第三方分享,弹出的是英文名称。例如Genymotion模拟器
    Android开发之viewpager导报错误解决方法:错误代码 Caused by: java.lang.ClassNotFoundException: Didn't find class
    Android开发之数据存储——SharedPreferences基础知识详解,饿补学会基本知识,开发者必会它的用法。
    Android开发工具资料Android Manifest 权限描述大全 随时随地查询权限描述。
    Android,java,php开发最基本的知识,mysql sqlite数据库的增删改查代理,sql语句
    EditText设置输入的类型,只能输入纯数字,只能输入手机号码,只能输入邮箱等等。
    Android开发之强大的网络判断工具,判断是否联网,判断是wifi还是3g网络等java工具代码类
    Android开发之将图片文件转化为字节数组字符串,并对其进行Base64编码处理
    Android开发之华为手机无法看log日志解决方法(亲测可用华为荣耀6)
    Android-PullToRefresh上拉下拉刷新加载更多,以及gridview刷新功能的Library下载地址
  • 原文地址:https://www.cnblogs.com/TivonStone/p/1722076.html
  • Copyright © 2011-2022 走看看