7.Java_模板设计模式---抽象类的实际应用(咖啡和茶的冲泡法),基于抽象类,核心是封装算法。引入钩子方法。开闭原则。23种设计模式

基于抽象类的模板设计模式,核心是封装算法

1、模板方法定义了一个算法的步骤,允许子类为一个或多个步骤提供具体实现。
2、模板(模板方法)模式:(典型:Servlet),AQS
 在一个方法中定义算法的框架,将一些具体步骤延迟到子类中实现。
 模板模式可以使子类在不改变算法的基础上,重新定义算法中的某些具体步骤。
3.开闭原则(OCP):一个软件实体,如类、函数、模块应对扩展开放,对修改关闭。(Java中最重要的原则)

23种设计模式?23种设计模式详解
第三方解耦(提取公有过程到一个类中—公有类)

咖啡/茶的冲泡法:
两者本质不同,但在冲泡过程中却有相似的步骤:

1.将水煮沸
2.用热水泡饮料
3.把饮料倒进杯子
4.在饮料内加入适当的调料
在这里插入图片描述

//设计一个通用的方法来实现冲泡的过程
void prepareRecipe(){
   
	boilWater();
	brew();
	pourInCup();
	addCondiments();
}
模板设计模式:
//模板设计模式

abstract class CaffeineBeverage{
   
	//用同一个方法冲泡茶个咖啡
	final void prepareRecipe(){
   //final:不希望子类覆盖这个方法
		boilWater();//烧水步骤相同
		brew();
		pourInCup();//倒入杯中步骤相同
		addCondiments();
	}
	abstract void brew();
	abstract void addCondiments();

	void boilWater(){
   
		System.out.println("Boiling
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值