`
Be_Q
  • 浏览: 3683 次
  • 来自: 苏州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

模板类模式

 
阅读更多

如果希望父类中的方法不能被子类所覆盖,用final关键字

 

 

对于若干个方法,取出相同的子方法,将不同的子方法进行泛化,封装在新的模板类(是个抽象类)中,不同的子方法规定为abstarct的,在子类中去实现它。

还可以在模板类中加入一个hook(钩子),这个方法可以作为条件控制,影响抽象类的算法流程,如决定是否要执行加入调料的步骤,可以征求客户的请求。即当步骤方法是可选的时候,用钩子。在java中,JFrame中的paint()方法就是一个钩子,再比如,Applet中的很多方法都是钩子。钩子是一个方法,他在抽象内中不做事情或者说只做默认的事情,子类可以选择要不要覆盖他。

 

 

 

 

算法模板:比如说对鸭子数组进行排序(按重量),调用Array的静态方法sort()方法,此sort()方法中的鸭子之间的比较函数CompareTo()必须由鸭子类自定义决定(自行提供比较大小的算法部分),具体是Duck类实现Comparable接口,实现该接口中的方法CompareTo()。——————这个在java中比较普遍,如InputStream类中的read()方法。用了下,感觉好强大。

 

 

设计模式在书中很简单,很明了,但是来到荒野中,不要期望一眼就能够认出他们,尽管他们很普遍。

分享到:
评论

相关推荐

    模板方法模式例子

    模板方法模式例子代码

    Unity单例模式模板类

    Unity单例模式模板类,以供学习,有两个: 一个单纯的Singleton 一个MonoSingleton,继承于MonoBehaviour

    设计模式之模板方法模式Java实现和类设计图

    设计模式之模板方法模式Java实现和UML类设计图

    java设计模式-模板模式

    java设计模式中的模板模式,纯Java代码

    java实现模板方法模式-具体模板类(Concrete Template Class)

    具体的子类继承抽象模板类,并实现其中的抽象方法,完成自己的特定操作步骤。模板方法模式能够提供代码的复用性和扩展性,将通用的操作步骤封装在抽象模板类中,而具体的实现可以由子类灵活扩展和改变。

    qt5编写的使用模板类工厂模式画图程序

    使用模板添加item到scene场景框架,主要用于创建大量items的场景

    Java模板设计模式

    java抽象类的程序案例,可以准备参加华为2014年校园招聘机试题 做准备

    MFC视图类的继承_模板方法模式及其在数据库应用系统中的应用.pdf

    MFC视图类的继承_模板方法模式及其在数据库应用系统中的应用.pdf MFC视图类的继承_模板方法模式及其在数据库应用系统中的应用.pdf MFC视图类的继承_模板方法模式及其在数据库应用系统中的应用.pdf

    59丨模板模式(下):模板模式与Callback回调函数有何区别和联系?1

    复用和扩展是模板模式的两大作用,实际上,还有另外一个技术概念,也能起到跟模板模式相同的作用,那就是回调(Callback)。A 类事先注册某个函数 F 到 B类

    设计模式_模板方法模式.zip

    在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 模板方法模式 java ...

    第26章_模板方法模式.ppt

    在模板方法模式中,我们需要准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来让子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同...

    Android编程设计模式之模板方法模式详解

    对于不同的程序设计语言,上述4个步骤都是不一样的,但是,它们的执行流程是固定的,这类问题的解决方案就是我们本章要讲的模板方法模式。 二、定义 定义一个操作中的算法的框架,而将一些步骤延迟到子类中,

    java实现模板方法模式-抽象模板类(Abstract Template Class)

    定义模板方法和一些基本的操作步骤,其中模板方法通过调用其他具体方法组合完成操作。

    模板方法模式(TemplateMethod)原理图

    模板方法模式是一种行为设计模式,它在一个方法中定义算法的骨架,将一些步骤延迟到子类中实现。 具体来说,模板方法模式的关键特点包括: 抽象类:在抽象类中定义一个模板方法,该方法给出了算法的框架。 具体...

    模板模式Template Pattern

    模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。

    qt5编写的单例模板模式

    使用qt5开发的单例模板,可存取正常的类以及指针,一般用于大型的软件架构。

    设计模式模板+委托.pdf

    模板模式,顾名思义,就是通过模板拓印的方式。 定义模板,就是定义框架、结构、原型。定义一个我们共同遵守的约定。 定义了模板,我们的剩余工作就是对其进行充实、丰润,完善它的不足之处。 定义模板采用抽象类来...

    设计模式自己总结一句话描述

    行为型模式,共十一种: 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。

    MFC单文档多视图模板类

    MFC中实现单文档多视图(不同的视图类,且非分割模式)的模板类,使用说明请参阅我的文章。

    java 23种设计模式.zip

    设计模式主要分为三大类: 1.创建型模式:工厂模式、抽象...4.行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

Global site tag (gtag.js) - Google Analytics