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

班级网页模板html源码网站seo服务公司

班级网页模板html源码,网站seo服务公司,网站建设需求什么功能,智慧团建信息系统网站登录什么是模板方法模式 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 主要解决:一些方法通用,却要在每一个子类都重写这些方法…

什么是模板方法模式

模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

主要解决:一些方法通用,却要在每一个子类都重写这些方法。

大概实现:将需要实现的算法抽象成一组步骤,在抽象类中定义好相关步骤的执行流程,其他需要自定义的特定步骤放到子类实现。

模板方法模式中的方法

模板方法中的方法可以分为两大类:模板方法和基本方法。

模板方法

一个模板方法是定义在抽象类中的,把基本操作方法组合在一起形成一个总算法或一个总行为的方法。

一个抽象类可以有任意多个模板方法,而不限于一个。每一个模板方法都可以调用任意多个具体方法。

基本方法

基本方法又可以分为三种:抽象方法(Abstract Method)、具体方法(Concrete Method)和钩子方法(Hook Method)。

●  抽象方法:由抽象类声明,由具体子类实现。在Java语言里抽象方法以abstract关键字标示。

●  具体方法:由抽象类声明并实现,而子类并不实现或置换。

●  钩子方法:由抽象类声明并实现,而子类会加以扩展。通常抽象类给出的实现是一个空实现,作为方法的默认实现。简单点来说就是在模板方法模式的父类中,我们可以定义一个方法,它默认不做任何事,子类可以视情况要不要覆盖它,该方法就被称为“钩子”。

应用场景

我们在完成某个功能,这个功能需要执行一系列的步骤,而且这一系列步骤基本相同,只是某些步骤在具体实现上有所不同,这个时候我们就可以考虑使用模板方法模式。

在代码中如果有多个子类共有的方法,且逻辑相同的时候,我们就可以使用模板方法模模式。

优缺点

优点:

1、封装不变部分,扩展可变部分。
2、提取公共代码,便于维护。
3、行为由父类控制,子类实现。

缺点: 每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。

实例

下面我们以一个执行数据库语句为例,在数据库连接中,我们执行一条语句的流程一般是固定的几步:
1.获取连接 2.执行语句 3.关闭连接

抽象类:

/*** 使用抽象类来定义模板方法和基本方法*/
public abstract class DatabaseTemplate {//模板方法final <T> T executeSql(String sql){T result;getConnection();//判断是否是查询语句,非查询语句开启事务if (isSelect()){//执行语句result = execute(sql);}else {//开启事务openTransaction();//执行语句result = execute(sql);}closeConnection();return result;}//抽象方法,让子类实现abstract <T> T execute(String sql);//具体方法,获取连接void getConnection() {System.out.println("获取连接");}//具体方法,关闭连接void closeConnection(){System.out.println("关闭连接");}//具体方法,开启事务void openTransaction() {System.out.println("开启事务");}// 钩子方法,决定是否需要事务boolean isSelect() {return true;}}

子类:

/*** 查询语句*/
public class QueryTemplate extends DatabaseTemplate{@OverrideString  execute(String sql) {System.out.println("查询成功");return "成功";}}/*** 更新语句*/
public class UpdateTemplate extends DatabaseTemplate{@OverrideInteger execute(String sql) {System.out.println("更新成功");return 1;}/*** 重写钩子方法,添加事务* @return*/@Overrideboolean isSelect() {return false;}}

测试:

public static void main(String[] args) {UpdateTemplate updateTemplate = new UpdateTemplate();updateTemplate.executeSql("update table  set column_name = b");
}输出:获取连接
开启事务
更新成功
关闭连接
http://www.ds6.com.cn/news/63036.html

相关文章:

  • 上海企业服务公司网络快速排名优化方法
  • 微信网站跳转链接怎么做google收录查询
  • 如何给网站做二维码互联网营销推广怎么做
  • 政务网站建设方案太原模板建站定制网站
  • 网站分析模板seo网站优化方案案例
  • 外贸产品开发网站东莞企业网站排名优化
  • 深圳市龙华区人民政府长沙seo优化公司
  • 推荐网站建设服务器神马网站快速排名软件
  • 做视频网站用哪家的香港主机运营推广的方式和渠道
  • 北京有哪些网站公司南宁seo怎么做优化团队
  • 威海做网站多少钱网络营销的主要内容包括
  • 上海 网站建设营销策划与运营团队
  • 外语网站建设怎样利用互联网进行网络推广
  • 房山 网站建设太原seo建站
  • 炫酷特效网站游戏推广文案
  • 企业网站群建设的原因做网站的软件叫什么
  • 二手书籍交易网站开发方式百度一下 你就知道官网 新闻
  • 做家政在哪个网站找seo关键技术有哪些
  • 青海网站建设加q5299丶14602做词百度云资源搜索引擎入口
  • 邢台企业做网站哪家好1688如何搜索关键词排名
  • 哪个网站可以做app界面聊城seo
  • 做网站报价微信拓客的最新方法
  • 企业网站建设需求百度竞价查询
  • 南翔做网站公司无锡网络推广平台
  • 简述建设动态网站环境要求seo综合查询工具可以查看哪些数据
  • 青浦做网站的公司杭州seo招聘
  • 武侯区建设局门户网站seo优化公司排名
  • 一个公司的网址网站seo推广方案
  • 陕西建设厅继续教育网站网站优化是做什么的
  • 做邀请函好的网站如何在百度上做免费推广