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

aspcms园林绿化工程网站源码济南环保行业网站开发

aspcms园林绿化工程网站源码,济南环保行业网站开发,免费WAP建导航网站,站长查询域名模板方法模式#xff08;Template Method Pattern#xff09;是一种行为型设计模式#xff0c;它在父类中定义一个算法的框架#xff0c;允许子类在不改变算法结构的情况下重写算法的某些特定步骤。这种模式非常适合于那些有一定公共流程#xff0c;但某些步骤需要子类定制…模板方法模式Template Method Pattern是一种行为型设计模式它在父类中定义一个算法的框架允许子类在不改变算法结构的情况下重写算法的某些特定步骤。这种模式非常适合于那些有一定公共流程但某些步骤需要子类定制化的场景。 想学习springbootspringbootvue项目SpringCloudAlibaba的小伙伴可以免费观看视频地址 springcloudalibaba地址 https://www.bilibili.com/video/BV1cFDEYWEkY/?vd_source14d27ec13a4737c281b7c79463687112springboot地址 https://www.bilibili.com/video/BV1nkmRYSErk/?vd_source14d27ec13a4737c281b7c79463687112springbootvue案例地址 https://www.bilibili.com/video/BV1JLSEYJETc/?vd_source14d27ec13a4737c281b7c79463687112模板方法模式的主要角色 抽象类Abstract Class定义算法的框架和扩展点即模板方法和钩子方法。具体实现类Concrete Classes实现抽象类中的抽象方法。 简单案例制作饮料 假设我们有一个饮料店提供两种饮料咖啡和绿茶。制作这两种饮料的基本步骤是相似的但某些步骤比如添加的调料有所不同。我们可以使用模板方法模式来定义一个通用的制作饮料流程并允许每种饮料自定义特定的步骤。 1. 定义抽象类Abstract Class public abstract class Beverage {// 模板方法public final void prepareRecipe() {boilWater();brew();pourInCup();if (customerWantsCondiments()) {addCondiments();}}// 钩子方法子类可以覆盖此方法以返回不同的值public abstract boolean customerWantsCondiments();// 基本方法子类可以覆盖但通常不覆盖public void boilWater() {System.out.println(Boiling water);}public void brew() {System.out.println(Brewing the tea);}public void pourInCup() {System.out.println(Pouring into cup);}// 抽象方法子类必须实现public abstract void addCondiments(); }2. 创建具体实现类Concrete Classes public class Coffee extends Beverage {Overridepublic boolean customerWantsCondiments() {return true;}Overridepublic void brew() {System.out.println(Dripping coffee through filter);}Overridepublic void addCondiments() {System.out.println(Adding sugar and milk);} }public class GreenTea extends Beverage {Overridepublic boolean customerWantsCondiments() {return false;}Overridepublic void brew() {System.out.println(Steeping green tea);}Overridepublic void addCondiments() {System.out.println(Adding lemon);} }3. 客户端代码 public class Client {public static void main(String[] args) {Beverage coffee new Coffee();coffee.prepareRecipe();System.out.println(--------------------);Beverage tea new GreenTea();tea.prepareRecipe();} }在这个案例中Beverage 类定义了一个制作饮料的模板方法 prepareRecipe()它规定了制作饮料的基本步骤。Coffee 和 GreenTea 类继承自 Beverage 类并根据需要重写了 brew() 和 addCondiments() 方法。客户端代码通过创建 Coffee 和 GreenTea 的实例并调用它们的 prepareRecipe() 方法来制作饮料。 输出结果将展示两种饮料的制作过程每种饮料都有其特定的步骤和调料。这个模式使得添加新的饮料类型变得非常容易只需创建一个新的类继承自 Beverage 并实现必要的方法即可。
http://www.hkea.cn/news/14279157/

相关文章:

  • 什么身一什么网站建设卖友情链接赚钱
  • 江苏省住房和城乡建设厅网站首页怎么去建设微信网站
  • dede学校网站免费源码不锈钢网站建设哪家好
  • 做个 公司网站多少钱莆田网站建设维护
  • 温州电商网站建设广东建设信息网查询成绩
  • 淮安市建设工程安全监督站网站青岛企业如何建网站
  • 租用了空间 怎样上传网站程序美工背景图素材
  • 如何制作自己的作品集网站百度知道首页网
  • 海外推广的网站有哪些昆山科技网站建设
  • 怎么编辑网站源代码类似于淘宝的网站建设方案
  • 做互联网平台要多少钱重庆网站seo技术
  • 单页网站开发舟山seo网络优化招聘
  • 垦利网站定制阿里云怎么申请域名
  • 开源网站推广成都宅天下装饰公司口碑
  • 网站开发专业前景江苏泰州海陵区建设局网站
  • 论坛网站开发教程php之wordpress
  • 做网站 工商 非法经营wordpress刷新错位
  • 如何保护我做的网站模板安徽建设局网站
  • 网站开发编写籍贯代码网络营销专业属于什么类别
  • 湛江网站如何制作做网站的图片的内存
  • 农产品网站如何做地推长沙点梦网站建设
  • 火星免费建网站昆山市建设监察大队官方网站
  • 免费搭建微信网站app开发定制公司哪家好
  • 某个网站做拍卖预展的好处双浩建设网站
  • 论坛网站模板拉新接单网
  • 电商平台网站制作费用深圳网络推广哪家好
  • 网站头部导航兰州建设网站的网站
  • 天津做网站推广的公司重庆seo排名扣费
  • 长沙网站 建设推广世云网络在线推广是网站推广的首要工具
  • 遵化市城乡建设规划局网站怎样用电脑和网訨自己做网站