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

学习建设网站开发app新闻稿范文

学习建设网站开发app,新闻稿范文,ui要学哪些知识,独立商城系统网站建设等服务器目录 模板模式的定义 模板模式的实现 模板模式角色 模板模式类图 模板模式举例 模板模式代码实现 模板模式的特点 优点 缺点 使用场景 注意事项 实际应用 模板模式的定义 模板模式(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.qdjiajiao.com/news/8656.html

相关文章:

  • 桐柏微网站开发公司网站建设
  • 南京建设网站排名云南网络营销公司
  • 网站建设与维护 许宝良 课件淄博百度推广
  • 郑州网站建设 论坛seo网站管理招聘
  • 网站开发功能添加价格列表今天的新闻大事10条
  • 手机百度电脑版入口快速优化排名公司推荐
  • 广州 环保 凡人网站建设热点新闻
  • 网站开发技术教程小程序推广50个方法
  • 网站建设怎么设计更加吸引人软文写作的十大技巧
  • 网页视频下载手机宁波seo关键词如何优化
  • 西安网站开发工程师招聘seo服务包括哪些
  • 个人做网站靠什么盈利百度网址大全下载
  • 热门手机网站广州网站优化方案
  • 营销型网站审定标准广州引流推广公司
  • 刘琪 找谁做网站靠谱关键词seo排名优化推荐
  • 需要做网站的公司在哪些google网站入口
  • 网站建设联关键词查询工具
  • 馆陶县网站快速刷排名的软件最好
  • 网站建设中搜索引擎六盘水seo
  • 免费搭建企业网站品牌营销策划与管理
  • 常州中小企业网站制作网络营销渠道
  • 广州专业网站建设价格建站的公司
  • 个人做论坛网站怎么做百度云盘下载
  • 帝国做网站的步骤广州seo顾问seocnm
  • 注册了域名怎样做网站自己怎么创建一个网站
  • 男的做直播网站好高端企业网站模板
  • 如何做书签网站网络营销的优势有哪些
  • 东光县建设局网站seo技术经理
  • 做新房坐哪个网站好网络推广哪个好
  • 企企管理系统平台凌哥seo