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

做羞羞的事情的网站PHP网站建设计划书

做羞羞的事情的网站,PHP网站建设计划书,王业侨,推广单页网站免费制作目录 模板模式的定义 模板模式的实现 模板模式角色 模板模式类图 模板模式举例 模板模式代码实现 模板模式的特点 优点 缺点 使用场景 注意事项 实际应用 模板模式的定义 模板模式(Template Pattern)属于行为型设计模式,又叫模版…

目录

模板模式的定义

模板模式的实现

模板模式角色

模板模式类图

模板模式举例

模板模式代码实现

模板模式的特点

优点

缺点

使用场景

注意事项

实际应用


模板模式的定义

        模板模式(Template Pattern)属于行为型设计模式,又叫模版方法模式(Template Method Pattern),是指定义一个算法的骨架,并允许子类为一个或多个步骤提供实现。模板模式使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。

        模板模式,其主要的的思想就是做一个模板,提供给客户端进行调用。除去生活中我们经常用到的简历模板、合同模板等等,Java中也有很经典的模板使用,那就是Servlet,HttpService类提供了一个service()方法,这个方法调用七个do方法中的一个或几个,完成对客户端调用的响应。这些do方法需要由HttpServlet的具体则由子类提供。

模板模式的实现

模板模式角色

  1. 抽象模板角色(Abstract Template):定义了一个或多个抽象操作,即定义了算法的骨架,以便让子类实现。这些抽象操作叫做基本操作,它们是一个顶级逻辑的组成步骤;定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。顶级逻辑也有可能调用一些具体方法。
  2. 具体模板角色(Concrete Template):实现父类所定义的一个或多个抽象方法,即不同的对象的具体实现细节,它们是一个顶级逻辑的组成步骤;每一个抽象模板角色都可以有任意多个具体模板角色与之对应,而每一个具体模板角色都可以给出这些抽象方法(也就是顶级逻辑的组成步骤)的不同实现,从而使得顶级逻辑的实现各不相同。

模板模式类图

模板模式举例

        相信大家都吃过水果蛋糕,不过无论造型如何变化,不变的有两种东西:“奶油”和“面包”。其余的水果材料随意搭配,就凑成了各式各样的水果蛋糕。基于这个场景,写一个案例,进一步了解下模板模式;创建三个类:Cake(蛋糕)、StrawberryCake(草莓蛋糕)、MangoCake(芒果蛋糕)。最后创建一个Client类,实现这个制作蛋糕的调用过程。

模板模式代码实现

抽象模版角色

package com.common.demo.pattern.template;/*** @author Evan Walker  昂焱数据: https://www.ayshuju.com* @version 1.0* @desc 抽象模版角色 蛋糕* @date 2023/08/09 13:44:38*/
public abstract class Cake {/*** 制作*/public void make() {System.out.println("开始准备材料。");bread();cream();fruit();System.out.println("经过一系列的操作。");System.out.println("制作完成。");}/*** 准备面包*/public void bread() {System.out.println("准备材料:面包");}/*** 准备奶油*/public void cream() {System.out.println("准备材料:奶油");}/*** 准备水果*/protected abstract void fruit();}

具体模版角色

package com.common.demo.pattern.template;/*** @author Evan Walker 昂焱数据: https://www.ayshuju.com* @version 1.0* @desc 具体模版角色:芒果蛋糕* @date 2023/08/09 13:46:07*/
public class MangoCake extends Cake{@Overrideprotected void fruit() {System.out.println("准备材料:芒果");}
}
package com.common.demo.pattern.template;/*** @author Evan Walker 昂焱数据: https://www.ayshuju.com* @version 1.0* @desc 具体模版角色:草莓蛋糕* @date 2023/08/09 13:46:07*/
public class StrawberryCake extends Cake{@Overrideprotected void fruit() {System.out.println("准备材料:草莓");}
}

测试代码

package com.common.demo.pattern.template;/*** @author Evan Walker 昂焱数据: https://www.ayshuju.com* @version 1.0* @desc 测试类* @date 2023/08/09 13:48:06*/
public class Test {public static void main(String[] args) {Cake c1 = new MangoCake();c1.make();Cake c2 = new StrawberryCake();c2.make();}}

测试截图 

模板模式的特点

优点

  1. 提高代码复用性:模板模式将公共的算法提取到父类中,子类只需关注实现自己特定的步骤,提高了代码的复用性。
  2. 保持一致的算法结构:模板模式定义了算法的框架,保持了一致的算法结构,使得代码更加整洁和可读。
  3. 灵活性:子类可以根据需要重写或扩展父类中的某些算法步骤,从而实现定制化的算法。

缺点

  1. 某些步骤的实现可能受限:由于模板模式是通过继承来实现的,因此可能会限制某些步骤的具体实现方式。
  2. 增加了类的数量:使用模板模式会增加父类和子类的数量,可能导致类的层次结构较为复杂。

使用场景

  1. 当有一组相似的算法,其具体实现步骤相同或类似,只有某些步骤的实现有差异时,可以考虑使用模板模式。
  2. 当需要保持一致的算法结构,提高代码复用性和可维护性时,可以使用模板模式。

注意事项

  1. 抽象出公共的算法框架:在使用模板模式时,需要抽象出算法的公共框架,并将可变的部分延迟到子类中实现。
  2. 父类对于子类的要求:父类中定义的模板方法可以使用钩子方法来约束子类的行为。
  3. 为防止恶意操作:一般模板方法都加上 final 关键词

实际应用

  1. 数据库访问操作:数据库访问操作中的连接、查询和关闭等操作可以使用模板模式,将通用的操作提取到父类中,而具体的查询可以由子类来实现。
  2. 游戏开发中的关卡设计:在游戏开发中,不同的关卡可能有相同的初始化、更新和结束等步骤,可以使用模板模式来实现这些关卡。

更多消息资讯,请访问昂焱数据(https://www.ayshuju.com)

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

相关文章:

  • 网站上如何做跳转页面wordpress如何增加导航
  • android 移动网站开发近五年网站开发参考文献
  • 网站建设合同书淘宝网站开发实训报告目录
  • 北京城建建设工程有限公司网站怎么封锁网站
  • 无锡企业网站设计网站建设许可证
  • 拖拽式网站开发北京企业网站设计报价
  • 免费网站奖励自己的软件做高仿表网站
  • app设计的基本流程新seo排名点击软件
  • 厦门网站建设费用做网站去哪里投放广告
  • 产品故事软文案例seo网站推广怎么做
  • 效果好的魔站建站系统成都本地网站建设
  • 石家庄网站推广南京网站设计网站
  • 徐州网站制作方案甘肃省住房城乡建设部网站
  • 网站的优点永久免费空间网站
  • 做网站的软件是哪个wordpress定制主题
  • 网站与云平台区别wordpress dewplayer
  • WordPress插件做成主题代码wordpress seo是什么
  • node 做的大型网站rpg制作大师
  • 网站 备份 还原wordpress 自建模板
  • 长春网站优化咨询石家庄职业技术学院教务网络管理系统
  • 百度网站优化排行微信小程序一键生成链接
  • 建设网站哪个便宜代运营报价
  • 阿里巴巴网站做推广效果怎么样vps 安装 wordpress
  • 电子商务网站建设与管理课程评价网站开发项目工作分解
  • 重庆网站wordpress4.6 nodejs
  • 美食网站的建设背景网站建设对用户影响
  • 计算机网站维护建设wordpress html模式
  • 沃然建站平台官网哈尔滨seo网站排名
  • 无极网站登录网站定制
  • 网站中的关键词seo设置创建网站需要哪些过程