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

wordpress 三款站群插件之比较全国工业设计大赛官网

wordpress 三款站群插件之比较,全国工业设计大赛官网,网站备案org,东莞服务公司推广目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 1、核心思想 目的:父类控制流程,复用公共逻辑,子类灵活扩展,只实现特定步骤。 概念:将总结出来的规律沉淀为一种既定格式…

目录

1、核心思想

2、实现方式

2.1 模式结构

2.2 实现案例

3、优缺点分析

4、适用场景


1、核心思想

目的:父类控制流程,复用公共逻辑,子类灵活扩展,只实现特定步骤。

概念:将总结出来的规律沉淀为一种既定格式,并固化于模板中以供子类继承,对未确立下来的步骤方法进行抽象化,使其得以延续、多态化,最终架构起一个平台,使系统实现在不改变预设规则的前提下,对每个分步骤进行个性化定义。

举例

1> 烹饪食谱:食谱提供固定步骤(洗菜→切菜→烹饪→装盘),但“烹饪”的具体方式(炒、煮)由子类决定

2> 软件安装向导:安装流程固定(同意协议→选择路径→安装→完成),但不同软件的安装细节可能不同。

2、实现方式

2.1 模式结构

两种核心角色:

  • AbstractClass(抽象基类)​:定义出原始操作步骤的抽象方法以供子类实现,并作为在模板方法中被调用的一个步骤。此外还实现了不可重写的模板方法,其可将所有原始操作组织起来成为一个框架或者平台。
  • ConcreteClassA、ConcreteClassB(实现类A、实现类B)​:继承自抽象基类并且对所有的原始操作进行分步实现,可以有多种实现以呈现每个步骤的多样性。

2.2 实现案例

饮料制作(咖啡和茶的制作流程相似,但部分步骤不同):

// 抽象类(定义模板方法)
abstract class Beverage {// 模板方法(final防止子类覆盖算法结构)public final void prepareRecipe() {boilWater();brew();pourInCup();if (customerWantsCondiments()) { // 钩子方法控制是否添加调料addCondiments();}}// 具体方法(公共步骤)private void boilWater() {System.out.println("煮沸水");}private void pourInCup() {System.out.println("倒入杯子");}// 抽象方法(子类必须实现)protected abstract void brew();protected abstract void addCondiments();// 钩子方法(可选扩展,默认返回true)protected boolean customerWantsCondiments() {return true;}
}// 具体子类:咖啡
class Coffee extends Beverage {@Overrideprotected void brew() {System.out.println("冲泡咖啡粉");}@Overrideprotected void addCondiments() {System.out.println("加糖和牛奶");}// 覆盖钩子方法:用户可以选择不加调料@Overrideprotected boolean customerWantsCondiments() {return false; // 假设用户不要调料}
}// 具体子类:茶
class Tea extends Beverage {@Overrideprotected void brew() {System.out.println("浸泡茶叶");}@Overrideprotected void addCondiments() {System.out.println("加柠檬");}
}// 客户端调用
public class Client {public static void main(String[] args) {Beverage coffee = new Coffee();coffee.prepareRecipe(); // 输出:煮沸水 → 冲泡咖啡粉 → 倒入杯子(不加调料)Beverage tea = new Tea();tea.prepareRecipe();// 输出:煮沸水 → 浸泡茶叶 → 倒入杯子 → 加柠檬}
}

关键点:

  • 模板方法:通常是final方法,确保算法步骤不可被修改。

  • 基本方法类型

    • 抽象方法:子类必须实现(如brew())。

    • 具体方法:父类已实现(如boilWater())。

    • 钩子方法(Hook Method):提供默认实现,子类可选择覆盖(如customerWantsCondiments())。

3、优缺点分析

优点缺点
提高代码复用性(抽取公共逻辑)可能导致类爆炸(每变种需一个子类)
父类控制流程,子类专注细节继承强耦合,违反组合优于继承原则
提供扩展点(钩子方法)过度使用可能使代码结构复杂化

4、适用场景

  • 框架设计

    • 定义通用流程,如Spring的JdbcTemplate(封装连接、执行SQL、关闭连接等步骤)。

  • 算法复用

    • 如数据解析(读取→解析→处理→输出)、游戏循环(初始化→更新→渲染)。

  • 标准化流程

    • 如测试用例(setup→执行→teardown)、审批流程(提交→审核→归档)。

  • 扩展第三方库

    • 重写库中的部分方法,而不影响整体流程。


文章转载自:

http://7z9IoZPy.rtqyy.cn
http://EfZtj907.rtqyy.cn
http://ngFuwyXZ.rtqyy.cn
http://M8FkT1R8.rtqyy.cn
http://jhTtrRaP.rtqyy.cn
http://ernSFeIv.rtqyy.cn
http://EUwMUdF4.rtqyy.cn
http://zdbNwOmE.rtqyy.cn
http://gM2nqALB.rtqyy.cn
http://GO4VAQv0.rtqyy.cn
http://Zwx3bXzy.rtqyy.cn
http://1jdTwFpP.rtqyy.cn
http://V20PBwcs.rtqyy.cn
http://pO5ZBDFU.rtqyy.cn
http://XdskgwhF.rtqyy.cn
http://okS7dmGR.rtqyy.cn
http://cINN8vy3.rtqyy.cn
http://9tu1hpbv.rtqyy.cn
http://eVN40Vu3.rtqyy.cn
http://NEdkRYBx.rtqyy.cn
http://DOwyLXMn.rtqyy.cn
http://TZxjkLwF.rtqyy.cn
http://LnjFDTM0.rtqyy.cn
http://BSOiAoB2.rtqyy.cn
http://6H6uOVe9.rtqyy.cn
http://BTXN8W8g.rtqyy.cn
http://rzdL7npp.rtqyy.cn
http://5Du1a5xk.rtqyy.cn
http://RoDu2kdX.rtqyy.cn
http://Zgawrxnw.rtqyy.cn
http://www.dtcms.com/wzjs/732483.html

相关文章:

  • 网站制作商家入驻本地wordpress 上传到服务器
  • 在哪里创建网站wordpress最大上传2m
  • 自助式网站建设 济南长春网站建设开发的有哪些
  • 仿织梦小说网站源码石龙建设网站
  • 深圳网络公司网站工商营业执照在线查询
  • 商丘网站建设服务做网站需要什么资质
  • 做视频网站盈利模式上线了建站价格
  • 购买一个网站需要多少钱?网络营销策划活动方案
  • 企业建设网站昆明最新新闻事件今天
  • 如何看网站是否有做网站地图数据库端口 wordpress
  • 网站做多久能盈利怎么用图片做网站背景图
  • 营销型网站建设团队建筑工人信息平台
  • 企业网站优化兴田德润优惠网站开发有几个阶段
  • 电子商务网站建设发展报告屋顶平台设计
  • 广西鼎汇建设集团有限公司网站建设公司哪家好
  • 云服务器可以做视频网站吗三网合一网站 东莞
  • 凡科建站帮忙做网站WordPress判断手机输出
  • 网站上传后台在哪蕲春住房和城乡建设局网站
  • 知名的咨询行业网站制作青之峰网站建设哪家好
  • 网站建设的相关技术怎样分析一个网站做的好坏
  • linux网站开发工具制作钓鱼网站
  • 做网站要学会什么营销方式和渠道
  • 杭州手机建设网站杭州优化seo公司
  • 网站建设一年多少恰高端网站建设团队
  • 重庆巴南网站建设类似织梦的建站cms
  • 成都大丰网站建设例表网国家住房和城乡建设部官网
  • 哪些网站是做采购的如何做网站内容管理
  • 软件外包专业成都网站排名优化开发
  • 青年人爱看的网站惠州手工外发加工网
  • wordpress+三主题公园seo如何提高排名