当前位置: 首页 > 面试题库 >

JDK中的模板设计模式找不到用于定义要按顺序执行的方法集的方法

习高格
2023-03-14
问题内容

我正在阅读有关Template design pattern。根据我目前的理解,当我们有一个算法要按顺序完成定义的一组流程(方法)时,可以使用模板设计模式。主要参与者是

1. Abstract Template class提供template method定义流程(方法)和执行顺序的方法。通常将此方法定为最终方法,因为它的行为不会被修改。默认情况下,模板方法中提到的过程(方法)很少提供默认实现,而其他依赖于扩展Abstract模板类类型的具体类的其他过程(方法)则保留为抽象。

2 Concrete classes extending the Template method。必要时,这些方法将覆盖默认方法,并为Abstract
Template类中定义的抽象方法提供实现。

我尝试在JDK中搜索其实现,java.io在阅读这些类实现了这种模式之后,我查看了这些类。我找不到任何定义一组过程(方法)和html" target="_blank">执行顺序的方法。

请提供您宝贵的意见。


问题答案:

一个简单的例子是java.io.OutputStream

该模板的方法是
public void write(byte b[], int off, int len)

它调用abstract方法
public abstract void write(int b)
该方法 必须由的子类实现OutputStream

在这种情况下,模板的不变部分是每个人都通用的基本错误处理OutputStream,而模板的变体部分是实际书写,具体针对每个具体实现。

您对模式的理解是正确的;但是,它不必那么复杂。基本上,任何在同一类中调用抽象方法的具体方法都是模板方法。



 类似资料:
  • 我正在阅读有关模板设计模式的文章。根据我目前的理解,当我们有一个定义了一组过程(方法)的算法时,可以使用模板设计模式。主要参与者包括 1.

  • 模板方法(Template Method) Intent 定义算法框架,并将一些步骤的实现延迟到子类。 通过模板方法,子类可以重新定义算法的某些步骤,而不用改变算法的结构。 Class Diagram Implementation 冲咖啡和冲茶都有类似的流程,但是某些步骤会有点不一样,要求复用那些相同步骤的代码。 // java public abstract class CaffeineBeve

  • 介绍 模板方法(TemplateMethod)定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法是一种代码复用的基本技术,在类库中尤为重要,因为他们提取了类库中的公共行为。模板方法导致一种反向的控制结构,这种结构就是传说中的“好莱坞法则”,即“别找找我们,我们找你”,这指的是父类调用一个类的操作,而不是相反。具

  • 本文向大家介绍详解C#设计模式编程中的模板方法模式使用,包括了详解C#设计模式编程中的模板方法模式使用的使用技巧和注意事项,需要的朋友参考一下 一、引言 提到模板,大家肯定不免想到生活中的“简历模板”、“论文模板”、“Word中模版文件”等,在现实生活中,模板的概念就是——有一个规定的格式,然后每个人都可以根据自己的需求或情况去更新它,例如简历模板,下载下来的简历模板的格式都是相同的,然而我们下载

  • 对于一些家庭作业,我们必须设计一个示例(带有类),其中策略和模板方法设计模式结合在一起,相互补充,从而使它们更具可定制性。或者“使用模板方法提供更多的可定制性来处理各种策略”。 经过大量阅读和最初的困惑,我想到了将两种动物作为类,和,并让它们都使用接口来实现特定的功能,移动(这样狗可以行走,蛇可以滑行)。我认为这是策略模式的一部分,因为它们各自单独实现自己的移动功能。 为了将模板方法模式融入其中,

  • 本文向大家介绍设计模式中的模板方法模式在Ruby中的应用实例两则,包括了设计模式中的模板方法模式在Ruby中的应用实例两则的使用技巧和注意事项,需要的朋友参考一下 实例一 今天你还是像往常一样来上班,一如既往地开始了你的编程工作。 项目经理告诉你,今天想在服务器端增加一个新功能,希望写一个方法,能对Book对象进行处理,将Book对象的所有字段以XML格式进行包装,这样以后可以方便与客户端进行交互