设计模式学习-模板方法模式

模板方法设计模式提供了一种在抽象类中定义操作流程骨架,允许子类通过重写部分步骤来实现定制化的方法。在饮料制作的例子中,父类定义了从选豆到包装的通用流程,子类只需关注个性化处理即可。这种模式适用于步骤固定的流程,提高了代码的复用性和可扩展性,但也可能导致类的数量增多,需要合理组织类结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模板方法设计模式

简介:
又叫模板模式,在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,简单来说,模板方法模式定义的一类任务的骨架,将一些步骤延迟到子类中,使子类避免重写编写骨架,只需要按自己的需要实现已有的抽象方法即可,这种设计模式属于行为型模式。
案例:
例如一个豆类饮品制作流程,可分为:选豆,榨汁,个性化处理,包装
那么我们可以定义一个父类Test1,定义这个制作流程:
制作主方法为doWork(),选豆方法select(),制作饮品方法make(),个性化处理方法personalProcess(),包装方法pack()
在主方法中完成这些调用处理,具体如下图所示:
类结构图
在这里插入图片描述
在这里插入图片描述
可以看到这个流程,默认即可以制作黄豆饮品,然后我们再编写一个子类进行继承进行绿豆饮品制作,中间还可以增加个性化处理:
在这里插入图片描述
然后运行测试方法可以看到结果:
在这里插入图片描述
总结:
这种设计模式适合流程步骤大致固定的任务处理,我们在基类中定义好流程的骨架,可以非常快速的对新的任务需求进行扩展。代码复用性高,各个模块功能清晰,扩展性好,但是如果步骤非常多,拆的比较细,涉及的类会比较多,可能会比较乱,所以需要做好相关类的梳理工作,便于代码检查回顾以及问题分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值