`

设计模式快速参考-模板方法模式

阅读更多

 

abstract class TravelTemplate{
   public void travel(){
      //上车
      getOnBus();
      //去目的地
      goto(“目的地”)
      //吃饭
      eat();
      //下车
     getOffBus();
     //如果想拍照,就拍照
     if(wantToTakePhoto){
        takePhoto();
     }
     //如果想上厕所,就上厕所
     if(wantToGotoRestroom){
        gotoRestRoom();
     }
     //上车回家
     getOnBus();
     goHome();
  }
  protected void goto(String str){
  }
  protected void getOnBus(){
  }
  protected void eat{
  }
  protected void takePhoto(){
  }
  protected void gotoRestRoom(){
  }
  protected void getOffBus(){
  }
  protected void goHome(){
  }
}

class HangzhouTravelTemplate extends TravelTemplate{
}

class BeijingTravelTemplate extends TravelTemplate{
}

class Tourist{
   private TravelTemplate template;
   pulic void setTravelTemplate(TravelTemplate template){
   }
   public travel(){
      template.travel();
   }
}
 

 


Client:

 

TravelTemplate hangzhouTemplate =  new HangzhouTravelTemplate(“杭州一日游”)
TravelTemplate beijingTemplate =  new BeijingTravelTemplate(“北京奥运两日游”)
Tourist zhangSan = new Tourist(“张三”);

//杭州一日游
zhangSan.setTemplate(travelTemplate);
zhangSan.travel();

//北京两日游
zhangSan.setTemplate(beijingTemplate);
zhangSan.travel();
 

 

分享到:
评论

相关推荐

    设计模式精解-GoF 23种设计模式解析附C++实现源码 完整版

    这份资源主要关注GoF(Gang of Four,即《设计模式:可复用面向对象软件的基础》一书的四位作者)提出的23种设计模式,并提供了C++语言的实现代码,是提升C++程序员设计能力的高级参考资料。 设计模式是经过时间和...

    《Java设计模式》课后答案-刘伟.rar

    行为型设计模式如策略(Strategy)、模板方法(Template Method)、观察者(Observer)、命令(Command)、迭代器(Iterator)、访问者(Visitor)、状态(State)、职责链(Chain of Responsibility)、解释器...

    JavaScript 设计模式(高清扫描版本)- 张容铭

    JavaScript设计模式是由张容铭编著的一本关于JavaScript编程领域的重要参考书籍,主要探讨了如何在JavaScript编程中应用设计模式来提升代码质量和可维护性。设计模式是软件工程中的最佳实践,它们是针对常见问题的...

    【资源免费下载】Java代码积累丨大话设计模式(Java实现版本)、线程协作

    设计模式参考《大话设计模式》 工厂简单模式 创造型模式 工厂方法模式 抽象工厂模式 原型模式 建造者模式 单例模式 结构型模式 队列模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 行为模式(类行为...

    设计模式代码-仅供参考

    "设计模式代码-仅供参考"这个主题,意味着我们将探讨如何通过代码实现这些设计模式。 在给定的标签“源码”和“工具”中,我们可以推测这个压缩包可能包含了用于理解和学习设计模式的实际代码示例。源码是理解设计...

    《Java设计模式》模拟试题参考答案及评分标准-刘伟(20180723).pdf

    根据提供的文档信息,我们可以从这份《Java设计模式》模拟试题参考答案及评分标准中提炼出以下关键知识点: ### 一、基础知识与概念 #### 1. 设计模式基础概念 - **里氏替换原则**(Liskov Substitution Principle...

    《Java设计模式》刘伟 课后习题及模拟试题答案.rar

    课后习题参考答案部分涵盖了书中各个章节的关键知识点,包括创建型模式(如单例模式、工厂方法模式、抽象工厂模式)、结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)...

    GOF-设计模式-Design Patterns-英文原版-高清-有目录-有页码

    #### 三、设计模式的描述方法 **描述设计模式的方法:** 设计模式的描述通常包括以下几个部分: 1. **模式名称**:简洁明了地概括模式的核心。 2. **问题**:描述该模式所解决的问题背景及情境。 3. **解决方案**:...

    设计模式期末试题下载

    2. **重用性**:通过设计模式可以快速解决问题,提高开发效率。 3. **灵活性**:设计模式鼓励开发者采用更灵活的方式组织代码,便于后期扩展和维护。 ### GOF设计模式 1. **种类**:共有23种设计模式被记录在著名...

    C#经典设计模式及代码示例

    设计模式是软件工程中经过实践验证的、解决常见问题的有效模板,能够帮助程序员提高代码的可读性、可维护性和复用性。这本书结合了理论与实践,提供了丰富的代码示例,使得学习设计模式变得更加直观。 在C#编程中,...

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

    本文实例讲述了Android编程设计模式之模板方法模式。分享给大家供大家参考,具体如下: 一、介绍 在面向对象开发过程中,通常会遇到这样的一个问题,我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序,...

    参考文档-23种JAVA设计模式和15种J2EE设计模式.zip

    本资源“参考文档-23种JAVA设计模式和15种J2EE设计模式.zip”包含了Java语言和J2EE平台下广泛使用的设计模式,旨在帮助开发者提升软件设计能力,实现更加高效、灵活和可维护的代码。 首先,我们关注Java的23种经典...

    C#设计模式-整理收藏(吕震宇 设计模式速成经典示例)

    C#设计模式是软件开发中的重要概念,它们是经过时间考验的、解决特定问题的解决方案模板,可应用于各种复杂情况,提升代码的可读性、可维护性和复用性。吕震宇的《设计模式速成经典示例》是帮助开发者理解和应用设计...

    远程抄表与监控仿真系统(Version 1.5,采用策略模式、工厂模式、模板方法模式实现)

    处理层的设计采用了设计模式中的策略模式、模板方法模式和工厂模式。 Server端和Client端的实现也采用了分层的设计方式,包含自定义的模型层、视图层和控制层。 说明:程序采用配置文件的方式进行初始化,运行时时请...

    浪潮软件技术培训之设计模式(ppt-21页).ppt

    设计模式是软件工程中的一种重要思想,特别是在面向对象设计中,它们是经过验证的、解决常见问题的有效解决方案的模板。设计模式并非具体的代码或库,而是一种通用的、可复用的设计方案,可以帮助开发者在面对特定...

    C#语法,数据库实例,设计模式----学习C#的必备资料,一应俱全!

    最后,设计模式是软件工程中的重要概念,它们是解决常见问题的模板,提供了可重用的解决方案。在C#中,常见的设计模式包括单例模式(确保类只有一个实例)、工厂模式(提供创建对象的接口)、观察者模式(定义对象间...

Global site tag (gtag.js) - Google Analytics