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

一般纳税人企业所得税怎么征收福清seo

一般纳税人企业所得税怎么征收,福清seo,私域流量和裂变营销,网站开发经验教训概念 模板方法模式是一种行为型设计模式,它定义了一个算法的骨架,允许子类在不改变算法结构的情况下重定义某些步骤。父类通过模板方法控制流程,子类通过实现抽象方法填充细节。 作用 1.代码复用:公共逻辑抽取到父类&#xff0…

概念

模板方法模式是一种行为型设计模式,它定义了一个算法的骨架,允许子类在不改变算法结构的情况下重定义某些步骤。父类通过模板方法控制流程,子类通过实现抽象方法填充细节。

作用

1.代码复用:公共逻辑抽取到父类,避免重复代码。

2.扩展性:子类只需关注差异部分,符合开闭原则。

3.流程控制:父类固定核心流程,防止子类破坏执行顺序。

场景

1.多个类具有相似流程但部分步骤不同(如数据解析、文件处理)。

2.需要固定核心算法流程,允许子类扩展特定步骤。

3.框架设计(如Spring的JdbcTemplate)。

举例(饮料制作)

// 饮料类
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("倒入杯子");}// 抽象方法(必须实现)abstract void brew();abstract void addCondiments();// 钩子方法(可选覆盖)boolean customerWantsCondiments() {return true;}
}
class Coffee extends Beverage {@Overridevoid brew() {System.out.println("冲泡咖啡粉");}@Overridevoid addCondiments() {System.out.println("加糖和牛奶");}@Overrideboolean customerWantsCondiments() {return false; // 示例:咖啡不要调料}
}
class Tea extends Beverage {@Overridevoid brew() {System.out.println("浸泡茶叶");}@Overridevoid addCondiments() {System.out.println("加柠檬");}
}

优点和缺点

优点

缺点

代码复用率高

增加类数量(每个差异需一个子类)

扩展性强(新增子类即可)

父类修改可能影响所有子类

反向控制结构(父类调用子类)

过度继承可能导致系统复杂

不使用模板方法的实现

class CoffeeWithoutPattern {public void makeCoffee() {System.out.println("烧开水");System.out.println("冲泡咖啡粉");System.out.println("倒入杯子");System.out.println("加糖和牛奶"); // 重复代码}
}
class TeaWithoutPattern {public void makeTea() {System.out.println("烧开水");       // 重复代码System.out.println("浸泡茶叶");System.out.println("倒入杯子");    // 重复代码System.out.println("加柠檬");}
}

存在的问题

1.重复代码:烧开水、倒杯子的代码重复。

2.维护困难:修改流程需改动所有类。

3.无法强制统一流程:子类可能遗漏步骤或改变顺序。

方案

代码量

扩展性

维护成本

流程控制

模板方法

严格统一

传统实现

自由松散

设计启示:当遇到多个相似流程的类时,优先使用模板方法模式消除重复代码,尤其适合需要严格流程控制的场景。

http://www.dtcms.com/wzjs/22581.html

相关文章:

  • 做外贸什么网站百度问答平台
  • 网站用的什么数据库手机制作网站的软件
  • 自己做视频网站会不会追究版权长春网站建设团队
  • 网站内容建设和管理百度竞价广告收费标准
  • 台州企业网站搭建厂家torrentkitty磁力天堂
  • 平度168网站建设深圳seo优化培训
  • 028网站建设工作室网站运营维护的基本工作
  • 个人网站取什么域名好网上竞价
  • 洛阳网站建设内容西藏自治区seo 标题 关键词优化
  • 做彩票网站郑州seo团队
  • 网站友情链接怎么添加商城网站建设
  • 广州网站建设定制百度app安卓版下载
  • 网络推广 公司 200个网站总排行榜总点击榜总收藏榜
  • 万网网站备案怎么分析一个网站seo
  • 网站建设怎样设置动态背景免费的客户资源怎么找
  • 做企业网站怎么收费的华与华营销策划公司
  • 外贸家具网站seo的中文含义是什么意思
  • 做淘宝banner的网站软文推广代理平台
  • 济南做网站xywlcn信阳seo推广
  • 龙岗建网站公司广州优化防控措施
  • 物联网公司排名国内跟我学seo
  • 南昌网站建设专业公司全网营销方案
  • 山东seo网站网站运营是做什么的
  • 怎样做网站的优化工作排名优化网站建设
  • 用asp做的网站有哪些网上销售有哪些方法
  • 果酱wordpress超级优化
  • 网站建设工具的种类vue seo 优化方案
  • 商务网站专题页软文营销案例文章
  • 做视频网站用什么服务器配置网络营销是学什么
  • 郴州网站小程序武汉关键词排名提升