当前位置: 首页 > wzjs >正文

装修的网站都有哪些百度seo查询系统

装修的网站都有哪些,百度seo查询系统,简历网免费,常州百度公司简介 假设你要冲泡咖啡和茶,两者的流程相似但部分步骤不同: 烧水(公共步骤)加入主材料(咖啡粉/茶叶)添加调料(糖/牛奶)→ 可选步骤倒进杯子(公共步骤) 模板…

简介
假设你要冲泡咖啡和茶,两者的流程相似但部分步骤不同:

  1. 烧水(公共步骤)
  2. 加入主材料(咖啡粉/茶叶)
  3. 添加调料(糖/牛奶)→ 可选步骤
  4. 倒进杯子(公共步骤)

模板模式的作用

  • 在父类中定义冲泡饮料的固定流程(如烧水、倒杯),子类只需实现差异步骤(如加咖啡粉或茶叶)。
  • 避免重复代码,同时允许灵活扩展(如是否加调料)。

适用场景

  • 多个类有相同流程,但某些步骤实现不同(如数据处理、文件解析)。
  • 需要控制子类的扩展点(如钩子方法)。

优点

  • 代码复用:公共逻辑在父类实现。
  • 灵活扩展:子类只需关注差异步骤。

缺点

  • 父类定义流程,子类可能被限制灵活性。
  • 容易因父类修改影响所有子类。

代码
// 抽象模板类:定义饮料冲泡流程
abstract class BeverageTemplate {// 模板方法(final 防止子类覆盖)public final void prepareBeverage() {boilWater();brew();addCondiments(); // 钩子方法(可选步骤)pourInCup();}// 公共步骤private void boilWater() {System.out.println("烧水");}private void pourInCup() {System.out.println("倒进杯子");}// 抽象方法:子类必须实现protected abstract void brew();// 钩子方法(默认不添加调料,子类可选覆盖)protected void addCondiments() {}
}// 具体子类:咖啡
class Coffee extends BeverageTemplate {protected void brew() {System.out.println("加入咖啡粉");}@Overrideprotected void addCondiments() {System.out.println("加糖和牛奶");}
}// 具体子类:茶
class Tea extends BeverageTemplate {protected void brew() {System.out.println("加入茶叶");}
}// 客户端代码
public class Client {public static void main(String[] args) {BeverageTemplate coffee = new Coffee();coffee.prepareBeverage();// 输出:// 烧水 → 加入咖啡粉 → 加糖和牛奶 → 倒进杯子BeverageTemplate tea = new Tea();tea.prepareBeverage();// 输出:// 烧水 → 加入茶叶 → 倒进杯子}
}
类图

在这里插入图片描述

@startuml
abstract class BeverageTemplate {+ prepareBeverage(): void- boilWater(): void- pourInCup(): void# brew(): void# addCondiments(): void
}class Coffee {# brew(): void# addCondiments(): void
}class Tea {# brew(): void
}BeverageTemplate <|-- Coffee
BeverageTemplate <|-- Tea
@enduml

场景
数据库连接、执行SQL、关闭连接的固定流程。

// 抽象模板类
public abstract class JdbcTemplate {// 模板方法public final void execute() {connect();String sql = buildSql(); // 抽象方法executeSql(sql);close();}private void connect() {System.out.println("连接数据库");}private void executeSql(String sql) {System.out.println("执行SQL: " + sql);}private void close() {System.out.println("关闭连接");}protected abstract String buildSql();
}// 具体子类:用户查询
class UserQuery extends JdbcTemplate {protected String buildSql() {return "SELECT * FROM users";}
}// 具体子类:订单插入
class OrderInsert extends JdbcTemplate {protected String buildSql() {return "INSERT INTO orders VALUES (...)";}
}// 客户端代码
public class DatabaseClient {public static void main(String[] args) {JdbcTemplate userQuery = new UserQuery();userQuery.execute();// 输出:// 连接数据库 → 执行SQL: SELECT * FROM users → 关闭连接JdbcTemplate orderInsert = new OrderInsert();orderInsert.execute();// 输出:// 连接数据库 → 执行SQL: INSERT INTO orders... → 关闭连接}
}
http://www.dtcms.com/wzjs/262686.html

相关文章:

  • 办公家具网站建设费用烟台seo关键词排名
  • 长春网站建设建站系统电商平台怎么加入
  • 现工作室专做网站建设等应用程序项目,但工作室名暂为百度识图在线使用
  • 外贸网站源码多语言微信广点通广告平台
  • 好的活动策划网站临沂今日头条新闻最新
  • 中国广告网建站网站关键词优化
  • 中介专门做别墅的网站长沙网络营销公司
  • 太原网站建做神马seo快速排名软件
  • 建立一个网站的技术解决方案域名权重是什么意思
  • 网站建设网站制作公司网络营销服务策略
  • 网页设计师职业资格证书信息流优化师
  • 做视频网站百度网盘app
  • 网站备案流程和规则站长工具seo综合查询权重
  • 网站开发的流程是怎样的aso关键词排名优化是什么
  • 做seo_教你如何选择网站关键词杭州百度首页排名
  • 做效果图的兼职网站搜索引擎seo是什么
  • 一个新手如何做网站南京seo公司教程
  • app开发者需要更新此app怎么解决关键词优化的软件
  • 中国建设银行网站 党费云湖南企业竞价优化服务
  • 县城做网站的多么百度seo优化怎么做
  • 张家港网站哪家做的好网络推广方法技巧
  • 有好点的网站建设公司吗百度下载并安装
  • 香河做网站公司沐浴露营销软文
  • 建设银行网站查询金华百度seo
  • 白沟做网站今日的头条新闻
  • 免费香港网站空间佛山网站开发公司
  • 网站整体设计意图及其功能html网页制作用什么软件
  • wordpress empty整站seo
  • go生物网站做蛋白定位品牌宣传如何做
  • 做网站怎么拿框架的原代码生猪价格今日猪价