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

2018网站建设行业互联网广告推广是什么

2018网站建设行业,互联网广告推广是什么,登录后台wordpress需要配置什么,响应式网站建设精英目录 模板模式的定义 模板模式的实现 模板模式角色 模板模式类图 模板模式举例 模板模式代码实现 模板模式的特点 优点 缺点 使用场景 注意事项 实际应用 模板模式的定义 模板模式(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.mmbaike.com/news/54150.html

相关文章:

  • redis 移动 wordpress北京关键词优化报价
  • 豫icp郑州网站建设店铺推广
  • 淄博logo设计公司seo提高关键词
  • 网站注册哪个好百度热搜榜
  • 温州市网站建设公司网络推广的途径有哪些
  • 做网站费用计入什么二级网站怎么做
  • 有哪些网页制作的软件重庆百度快照优化排名
  • 网页设计毕业论文选题天津网站优化公司
  • 微信链接的微网站怎么做热门网站
  • 专业做网站建设seo下拉优化
  • 株洲在线论坛优化营商环境的金句
  • 有没有电脑做兼职的网站河北电子商务seo
  • 合肥建设网网站河北百度竞价优化
  • 今天的最新消息手机流畅优化软件
  • 山东鸿泰建设集团有限公司网站网络服务是什么
  • wordpress建站苏州搜索 引擎优化
  • 网站后台模板 php自己做seo网站推广
  • 手机网站设计字体多大网赌怎么推广拉客户
  • 南通网站建设教程百度查重
  • 有趣的网站名称最新国际新闻事件今天
  • vps除了做网站还能做什么福州seo顾问
  • 律师事务所网站建设公司推广宣传文案
  • 微信网站价格google seo整站优化
  • 单位做网站的目的百度seo排名优化费用
  • 百度云搭建网站广州今日头条新闻
  • 佛山网站建设公司如何组建站长之家seo工具
  • 宁波网络公司怎么选网络建站优化科技
  • lol做任务领头像网站互联网广告管理暂行办法
  • 网站导航条背景图片seo外链是什么意思
  • 网站后台管理模块百度搜索开放平台