Java中模板模式怎么用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,小编给大家分享一下Java中模板模式怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!优点封装不变部分,扩展可变部分。提取公共代码,便于维护。行为由父类控制,子类实现。缺点每一个不
千家信息网最后更新 2025年11月07日Java中模板模式怎么用
小编给大家分享一下Java中模板模式怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
优点
封装不变部分,扩展可变部分。
提取公共代码,便于维护。
行为由父类控制,子类实现。
缺点
每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。
使用场景
1.有多个子类共有的方法,且逻辑相同。
2.重要的、复杂的方法,可以考虑作为模板方法。
一、实现方式
假设一个场景,我们在玩游戏的时候,都需要初始化加载游戏,然后开始游戏,最后结束游戏,这像是一套模板一样的操作,但是具体的实现方法却不同,例如:LOL 游戏与 CF 游戏的加载资源肯定不同,游戏的内容也不同。
1、游戏抽象类
package com.asurplus.common.template;/** * 游戏抽象类 */public abstract class Game { // 初始化游戏 abstract void init(); // 开始游戏 abstract void start(); // 结束游戏 abstract void end(); // 模板 public final void play() { // 初始化游戏 init(); // 开始游戏 start(); // 结束游戏 end(); }}2、LOL游戏类
package com.asurplus.common.template;import lombok.extern.slf4j.Slf4j;/** * LOL游戏 */@Slf4jpublic class LolGame extends Game { @Override void init() { log.info("初始化 LOL 游戏"); } @Override void start() { log.info("LOL 游戏开始"); } @Override void end() { log.info("LOL 游戏结束"); }}3、CF游戏类
package com.asurplus.common.template;import lombok.extern.slf4j.Slf4j;/** * CF游戏 */@Slf4jpublic class CfGame extends Game { @Override void init() { log.info("初始化 CF 游戏"); } @Override void start() { log.info("CF 游戏开始"); } @Override void end() { log.info("CF 游戏结束"); }}二、测试
package com.asurplus.common.template;/** * 模板模式 */public class TestMain { public static void main(String[] args) { // LOL 游戏 Game lolGame = new LolGame(); lolGame.play(); System.out.println(); // CF 游戏 Game cfGame = new CfGame(); cfGame.play(); }}输出结果
可以看出,一套模板,可以有多个实现方式,从而实现了我们的工厂模式。
看完了这篇文章,相信你对"Java中模板模式怎么用"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
模板
模式
不同
方法
子类
场景
多个
方式
游戏类
篇文章
部分
复杂
相同
重要
个数
代码
优点
内容
完了
工厂
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
成都分类信息软件开发
2016网络技术应用4
魔兽世界tbc火锤服务器
php服务器 数据库连接
高性能嵌入式数据库
软件开发成本价格指数
网络设置服务器名称什么
学大数据好还是软件开发
智能宣泄系统软件开发
用友v16.0服务器安装
梦幻岛下载软件开发
服务器ip安全管理
泰拉瑞亚1.4国际服服务器ip
哪个省网络技术改革腾讯
邯郸软件开发解决方案
mc服务器延迟怎么查
互联网科技小程序
网络安全第五空间设计美学
数据库恢复为什么不能完全恢复
搭建wds系统安装服务器
3c软件开发表格
win应用软件开发
跨境电商网络安全证
网络技术总监写代码
腾讯网络安全教育培训机构
2t服务器硬盘价格
数据库unique放在哪里
数据库漏扫PPT
杭州网络安全实习招聘
济宁戴尔服务器电话