第六个设计模式之:模板方法
模板方法模式主要是对大方法体细化
一.UML示意图
二.组成部分
1. 抽象构件
2. 具体构件
三.代码例子:我用一个简单的例子来说明—计算食物价格
1. 抽象构件
package com.eekq.template;
public abstract class AbstractFood {
/**模板方法*/
public float pay(){
//公共的业务代码
return price()*0.8f;
}
/**抽象方法,物品单价*/
abstract public float price();
}
2. 具体构件
package com.eekq.template;
public class Food extends AbstractFood {
private floatprice;
public Food(float price){
this.price = price;
}
public float price() {
returnprice;
}
}
3. 客户调用
package com.eekq.template;
public class Main {
/**
*@paramargs
*/
public static void main(String[] args) {
AbstractFood car = new Food(50);
System.out.println("价钱:"+car.pay()+"元");
}
}
四.运行结果
价钱:40.0元
总结:模板方法模式优点在于对一个大方法(这里用pay()表示)进行细化处理的,这样就使一个上百行代码的大方法更具可读性和维护性了.在Eclipse中重构快捷是:Alt+Shift+M 这样就可抽取出大方法体中的一部分来了.
作者:飞行鱼 QQ:6868861 推荐J2EE群:7715552
分享到:
相关推荐
整个设计模式领域还很新,本书的四位作者也许已占据了这个领域造诣最深的专家中的半数,因而他们定义模式的方法可以作为后来者的榜样。如果要知道怎样恰当定义和描述设计模式,我们应该可以从他们那儿获得启发”--steve...
Python是一种广泛使用的高级编程语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进来区分代码块,而不是使用大括号或...
- **第6章 结论**:总结了全书的主要观点,强调了设计模式在软件工程实践中的重要性,以及如何将这些模式应用到实际项目中去。 #### 附录与补充材料 - **附录A 词汇表**:提供了设计模式相关的专业术语定义,有助...
第六讲:原型模式 第七讲:建造者模式 第八讲:装饰模式 第九讲:策略模式 第十讲:观察者模式 第十一讲:享元模式 第十二讲:代理模式 第十三讲:外观模式 第十四讲:组合模式 第十五讲:桥接模式 第十六...
第十六章:模板方法模式一、豆浆制作问题编写制作豆浆的程序,说明如下:制作豆浆的流程 选材--->添加配料--->浸泡--->放到豆浆机打碎通过添加不同的配料,可
以下是这16个设计模式的概述,以及它们在实际开发中的应用和重要性。 1. 单例模式:确保一个类只有一个实例,并提供全局访问点。在PHP中,常用于数据库连接或缓存管理,避免多次实例化导致的资源浪费。 2. 工厂...
学习设计模式需要准确理解每个设计模式的功能、基本结构、标准实现,了解适合使用它的场景以及使用的效果。在实际的开发中,尝试着使用这些设计模式,并反复思考和总结是否使用得当,是否需要做一些变化。 有23种...
模板方法模式是一种设计模式,它在面向对象编程中扮演着重要的角色。该模式的主要目的是将不变的行为(或步骤)封装到基类中,而可变的行为留给子类去实现。这样,子类可以在不修改基类代码的情况下,通过重写特定...
本文将着重探讨创建型模式、结构型模式和行为模式这三大类设计模式,并结合六项设计原则进行深入解析。 首先,我们来看创建型模式。创建型模式关注于对象的创建,它们提供了创建对象的灵活方式,使得代码更具复用性...
第6章 结论 232 6.1 设计模式将带来什么 232 6.2 一套通用的设计词汇 232 6.3 书写文档和学习的辅助手段 232 6.4 现有方法的一种补充 233 6.5 重构的目标 233 6.6 本书简史 234 6.7 模式界 235 6.8 Alexander 的模式...
这里我们主要关注的是"Java设计模式第二版源码",这可能是一个包含各种设计模式实现的代码库。 设计模式分为三类:创建型模式、结构型模式和行为型模式。创建型模式主要关注对象的创建过程,如单例模式(Singleton...
14. 模板方法模式:模板方法模式是一种行为型模式,它在抽象类中定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。子类可以不改变一个算法的结构即可重定义其中特定的步骤。 15. 观察者模式:观察者模式是一...
模板方法模式是一种行为设计模式,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。Spring的AbstractApplicationContext类在初始化和刷新上下文时就使用了模板方法模式,允许子类在不改变整体结构的情况...
根据给定文件的信息,我们可以提炼出关于设计模式的相关知识点,包括设计模式的概念、目标、特点以及常见的设计模式分类和具体应用。以下是对这些知识点的详细解释: ### 设计模式概念 1. **定义**:设计模式是...
1. 模板方法模式(Template Method Pattern):在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。 2. 命令模式(Command Pattern):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化...
11. 模板方法模式:模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。在PHP中,常用于定义基础类,规定必要的步骤,但允许子类自定义具体实现。 12. 策略模式:策略模式定义了一系列的算法,并...
《Java设计模式》是刘伟老师的一本经典教材,它深入浅出地讲解了软件设计中的重要概念——设计模式。设计模式是经验丰富的开发者在解决常见问题时总结出的通用解决方案,是软件开发中的智慧结晶。这本书的课后习题和...