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

做教案比较好的网站邢台市网络科技有限公司

做教案比较好的网站,邢台市网络科技有限公司,闵行网站开发,设计公司logo设计场景 模板模式 模板模式又叫模板方法模式(Template Method Pattern),是指定义一个算法的骨架,并允许子类为一个 或者多个步骤提供实现。 模板模式使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为型设计模式。 模…

场景

模板模式

模板模式又叫模板方法模式(Template Method Pattern),是指定义一个算法的骨架,并允许子类为一个

或者多个步骤提供实现。

模板模式使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为型设计模式。

模板模式适用于以下场景:

1、一次性实现一个算法的不变部分,并将可变的行为留给子类来实现。

2、各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码重复。

以网络销售商品为例,模板流程大体为:

上架商品-下订单-发快递-收货 ,如果需要退货还需进行退货流程。

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

模板模式示例

首先创建NetworkGoods抽象类

package com.ruoyi.demo.designPattern.templatePattern;public abstract class NetworkGoods {protected final void saleGoods(){//上架商品this.groundGoods();//下订单this.placeOrder();//发快递this.express();//收货this.receipt();//是否需要退货if(needReturnGoods()){doReturnGoods();}}//进行退货abstract void doReturnGoods();//是否需要退货//钩子方法:实现流程的微调protected  boolean  needReturnGoods(){return false;}//上架商品final void groundGoods(){System.out.println("上架商品");}//下订单final void placeOrder(){System.out.println("下订单");}//发快递final void express(){System.out.println("发快递");}//收货final void receipt(){System.out.println("收货");}
}

上面代码中有个钩子方法,主要目的是干预执行流程,使得控制行为更加灵活,更符合实际业务的需求。

然后创建ComputerGoodsSale

package com.ruoyi.demo.designPattern.templatePattern;public class ComputerGoodsSale extends NetworkGoods{@Overridevoid doReturnGoods() {System.out.println("电脑进行退货");}
}

创建BookGoodsSale

package com.ruoyi.demo.designPattern.templatePattern;public class BookGoodsSale extends NetworkGoods{private boolean needReturnGoodsFlag = false;public BookGoodsSale(boolean needReturnGoodsFlag){this.needReturnGoodsFlag = needReturnGoodsFlag;}@Overrideprotected boolean needReturnGoods() {return this.needReturnGoodsFlag;}@Overridevoid doReturnGoods() {System.out.println("书籍进行退货");}
}

客户端测试代码

package com.ruoyi.demo.designPattern.templatePattern;public class networkGoodsSaleTest {public static void main(String[] args) {System.out.println("电脑进行网络销售");NetworkGoods computerGoods = new ComputerGoodsSale();computerGoods.saleGoods();System.out.println("书籍进行网络销售");NetworkGoods bookGoods = new BookGoodsSale(true);bookGoods.saleGoods();}
}

模板模式的经典应用场景-JdbcTemplate

创建模板类JdbcTemplate,封装所有的JDBC操作。以查询为例,每次查询的表不同,返回的

数据结构也不一样。针对不同的数据,都要将其封装成不同的实体对象。而每个实体对象的发封装

逻辑是不一样的,但是封装前和封装后的流程是不变的。

模板模式的优缺点

优点:

1、利用模板模式将相同处理逻辑的代码放到抽象父类中,可以提高代码的复用性。

2、将不同的代码放到不同的子类中,通过对子类的扩展增加新的行为,可以提高代码的扩展性。

3、将不变的行为写在父类中,去除子类的重复代码,提供了一个很好的代码复用平台,符合开闭原则。

缺点:

1、每个抽象类都需要一个子类来实现,导致了类的数量增加。

2、类数量的增加间接地增加了系统的复杂性。

3、因为继承关系自身的缺点,如果父类增加新的抽象方法,所有子类都要改一遍。

http://www.yayakq.cn/news/311481/

相关文章:

  • wap网站微信分享代码服饰东莞网站建设
  • 做美图 网站有哪些东西南昌市住房和城乡建设局网站
  • 百度广告平台SEO网站布局优化
  • 南京网站seo河北建设厅网站电话
  • 小说网站做公众号好还是网站好顺德网站建设效果
  • 南昌网站定制高碑店建设局网站
  • php wap网站源码深圳html5网站建设价格
  • 网络营销做女鞋的网站设计安卓开发自学教程
  • 网站推广计划怎么做上海企业信息查询
  • 苏州网站建设科技wordpress 登录注册
  • ps网站建设要知道的知识做网站的公司多吗
  • 网站建设公众号电商美工的工作内容是什么
  • 在网站留外链怎么做做网站需要收付款功能吗
  • 深圳城乡和住房建设局网站不申请域名可以 做网站吗
  • 相关网站建设招聘seo网站推广
  • seo视频网页入口网站推广怎么仿别人的网站
  • 上海网站开发网站开发公司wordpress 主题窜改
  • 有什么做家常菜的网站网络设计公司经营范围
  • 中国建设银行网站密码是什么意思缩我短网址生成
  • 郑州自助建站软件潍坊市住房和城乡建设局官方网站
  • 计算机毕设网站建设怎么改设计公司工作室创业规划
  • 工业网站素材wordpress批量分类
  • 做网站的市场风险分析及对策石家庄智能模板建站
  • 手机端企业网站设计wordpress英文主题哪个好用
  • 网站开发怎么自动获取位置网站怎么做h5支付
  • 苏州设计网站建设北京外贸进出口公司
  • 哪个建站软件比较好带论坛今天北京感染了多少人
  • 手表网站模版深圳网站建设微赢天下
  • 精密电子东莞网站建设技术支持简单的报价表模板
  • 海北高端网站建设请人做外贸网站应注意什么问题