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

网站制作教学建立网站商店

网站制作教学,建立网站商店,建站新体验,wordpress 数据库丢失模板方法模式 编写制作豆浆的程序,说明如下 1)制作豆浆的流程选材添加配料浸泡放到豆浆机打碎 2)通过添加不同的配料,可以制作出不同口味的豆浆 3)选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的 4)请使用模板方法模式完成 说明…

模板方法模式

  • 编写制作豆浆的程序,说明如下
    1)制作豆浆的流程选材添加配料浸泡放到豆浆机打碎
    2)通过添加不同的配料,可以制作出不同口味的豆浆
    3)选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的
    4)请使用模板方法模式完成 说明: 因为模板方法模式,比较简单, 很容易就想到这个方案 ,因此就直接使用,不再使用传统的方案来引出模板方法模式

原理图
在这里插入图片描述

1、AbstractClass抽象类,类中实现了模板方法(template),定义了算法的骨架,具体子类需要去实现,其他的抽象类方法operation2,3,4
2、ConcreteClass实现抽象方法operation2,3,4已完成算法中特定子类的步骤

@Slf4j
public abstract class SoyaMilk {//模板方法 make 模板方法可以做成final,不让子类去覆盖final void make() {select();addCondiments();soak();beat();}//选择材料void select() {log.info("第一步:选择好的新鲜黄豆");}//添加不同的配料,抽象方法,子类具体实现。abstract void addCondiments();//浸泡void soak() {log.info("第三步:黄豆和配料开始浸泡,需要3小时");}//打浆void beat() {log.info("第四步:黄豆和配料放到豆浆机中去打碎。");}
}
@Slf4j
public class PeanutSoyaMilk extends  SoyaMilk{@Overridevoid addCondiments() {log.info("第二步:加入花生");}
}
@Slf4j
public class RedBeanSoyaMilk extends  SoyaMilk{@Overridevoid addCondiments() {log.info("第二步:加入红豆");}
}
@Slf4j
public class Client {public static void main(String[] args) {log.info("------制作红豆豆浆------");RedBeanSoyaMilk redBeanSoyaMilk = new RedBeanSoyaMilk();redBeanSoyaMilk.make();log.info("=====================================");log.info("------制作花生豆浆------");PeanutSoyaMilk peanutSoyaMilk = new PeanutSoyaMilk();peanutSoyaMilk.make();}
}
------制作红豆豆浆------
- 第一步:选择好的新鲜黄豆
- 第二步:加入红豆
- 第三步:黄豆和配料开始浸泡,需要3小时
- 第四步:黄豆和配料放到豆浆机中去打碎。
=====================================
------制作花生豆浆------
- 第一步:选择好的新鲜黄豆
- 第二步:加入花生
- 第三步:黄豆和配料开始浸泡,需要3小时
- 第四步:黄豆和配料放到豆浆机中去打碎。

钩子方法

在模板方法模式的父类中,我们可以定义一个方法,不做任何事,子类可以去视为情况要不要覆盖它,称之为钩子程序。

@Slf4j
public abstract class SoyaMilk {//模板方法 make 模板方法可以做成final,不让子类去覆盖final void make() {select();if (customerWantCondiments()) {addCondiments();}soak();beat();}//......//钩子方法,决定是否需要添加配料boolean customerWantCondiments() {return true;}
}
@Slf4j
public class PureSoyaMilk extends SoyaMilk {@Overridevoid addCondiments() {//空实现}@Overrideboolean customerWantCondiments() {return false;}
}
@Slf4j
public class Client {public static void main(String[] args) {log.info("=====================================");log.info("------制作纯豆浆------");SoyaMilk pureSoyaMilk = new PureSoyaMilk();pureSoyaMilk.make();}
}
=====================================
------制作纯豆浆------
- 第一步:选择好的新鲜黄豆
- 第三步:黄豆和配料开始浸泡,需要3小时
- 第四步:黄豆和配料放到豆浆机中去打碎。
  • 模板方法在源码中的应用(spring IOC源码分析)
    在这里插入图片描述
    在这里插入图片描述

模板方法的注意事项和细节

1、基本的思想是:算法只存在于一个地方,也就是在父类中容易修改。,
需要修改算法时,只要修改父类的模板方法或者已经实现的某些步骤,子类就会继承这些修改。
2、实现了最大化代码复用,父类的模板方法和已经实现的某些步骤被直接的继承而直接使用。
3、即同意了算法,也提供了很大的灵活性。父类的模板方法确保了算法的结构保持不变,同时有子类提供部分步骤的实现。
4、该模式的不足之处:每一个不同的实现都需要一个子类实现,刀之类的个数增加,是的系统更加庞大。
5、一般末班方法都加上final关键字。发囊之子类重写模板方法。
6、模板方法模式使用场景。当要完成某个过程,该过程要执行一系列步骤,这一系列的步骤基本相同
但是个别步骤在实现时有可能不同,通常考虑用模板方法模式来处理。


文章转载自:

http://0OS7KAJw.npkrm.cn
http://KfVVnHMb.npkrm.cn
http://pkpac8bp.npkrm.cn
http://vFIjOhVs.npkrm.cn
http://7uIkTYGM.npkrm.cn
http://4CVrtCqH.npkrm.cn
http://qDDbTi8W.npkrm.cn
http://lGMnpS34.npkrm.cn
http://pPRXIyXW.npkrm.cn
http://oiAEIW1X.npkrm.cn
http://3w3gF4rw.npkrm.cn
http://oerae7lT.npkrm.cn
http://lO3tO0uu.npkrm.cn
http://uaps3695.npkrm.cn
http://qGFVMosx.npkrm.cn
http://GKPBZbjp.npkrm.cn
http://3slrFb0F.npkrm.cn
http://E5FfbTOP.npkrm.cn
http://3YW3ryHo.npkrm.cn
http://oqjweitj.npkrm.cn
http://wyD8WZKQ.npkrm.cn
http://GllZeSqU.npkrm.cn
http://KpvnjUIO.npkrm.cn
http://kPjtAjJd.npkrm.cn
http://GbHU5IUw.npkrm.cn
http://MnuY2ktk.npkrm.cn
http://qn85UP2b.npkrm.cn
http://vEXWFNdf.npkrm.cn
http://IPepnB37.npkrm.cn
http://H8G7L1kd.npkrm.cn
http://www.dtcms.com/wzjs/699901.html

相关文章:

  • 服务器关闭 网站被k重庆的网站建设
  • 国外好的设计网站有哪些贵阳房地产网站建设
  • 傻瓜化免费自助建站wordpress手机类主题
  • 科技设计公司网站模板个人网站排名欣赏
  • wordpress建站教程道一管理型网站建设费用明细
  • 网站怎么做查询功能广告发布与制作
  • 网站添加备案信息吗免费建站模板
  • dw做存资料网站网站设计制作都有哪些
  • 下载php做站的官方网站门户网站等保二级建设方案
  • 返利网网站怎么做做网站的哪里有
  • 网站开发所有工具多大淘宝建设网站首页
  • 建e网站什么网站做前端练手好
  • 什么是手机网站建设cpc引流做网站cpa推广
  • 幕墙装饰工程网站模板凡科网站怎么修改
  • 网站建设的一般步骤包括北京网站搭建服务商
  • 无锡 学校网站建设建筑公司企业标语
  • 网站模板手机电脑上怎么运行wordpress
  • 好用的网站模板wordpress申请软件著作
  • 没有防盗链的网站wordpress 评论内容
    标签 显示html
                          
  • 年度网站信息化建设工作计划广州网站优化哪家快
  • 自己做网站建设制作上海工商企业查询网
  • 永康网站推广广州推广工具
  • 官方网站内容可做证据吗中国招标网官方网
  • 网站推广途径及要点wordpress表单联系
  • 行政单位单位网站建设示范校建设信息化成果网站
  • 南宁网站设计广告设计和平面设计有什么区别
  • 西安网站维护 策划网站前置审批证书
  • 网站如何建设wordpress教程 迅雷
  • 网站建设应当注意石家庄建设集团网站
  • 吉林省交通建设集团有限公司网站.net 导航网站模板