• Java模板设计模式之基于组合实现


       广州疯狂软件学院拥有三大课程体系包括:java课程,android课程,ios课程,更多java知识,android知识,ios知识,疯狂软件官网持续更新中。

      基于组合的方式实现模板设计:

      Java代码

      /**

      * 基于组合实现模板设计模式

      * @author Administrator

      *

      */

      public class CombineTemplate {

      //链接数据库

      public void beginConnection(){

      System.out.println("conn success");

      }

      //关闭数据库的链接

      public void closeConnection(){

      System.out.println("close success");

      }

      /**

      * 调用方法,传入一个钩子函数的接口

      */

      public void execute(CallBack back){

      this.beginConnection();

      back.doInTemplate();

      this.closeConnection();

      }

      /**

      * 将要实现的方法创建在模板中

      * 添加

      */

      public void add(final int id){

      this.execute(new CallBack(){

      public void doInTemplate() {

      System.out.println("add:"+id);

      }});

      }

      /**

      * 删除

      * @param id

      */

      public void delete(final int id){

      execute(new CallBack(){

      public void doInTemplate() {

      System.out.println("delete:"+id);

      }});

      }

      }

      回调(钩子):

      Java代码

      package com.svse.combinetemplate;

      /**

      * 接口

      * @author Administrator

      *

      */

      public interface CallBack {

      public void doInTemplate();

      }

      具体的实现类:

      Java代码

      package com.svse.combinetemplate;

      /**

      * 基于组合实现设计模式,实现具体的功能

      * @author Administrator

      *

      */

      public class ExtendCombineTemplate {

      private CombineTemplate ct = new CombineTemplate();

      public void add(int id){

      ct.add(id);

      }

      public void delete(int id){

      ct.add(id);

      }

      }

      疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。高薪从IT名企请来项目经理为学员亲自授课,对学员进行实战教学,在没有工作经验的学员,在疯狂java,通过大量全真经典企业级项目进行集中培训,学员通过数月培训都可获得1-2年的工作经验,进而在同类的求职者中脱颖而出。疯狂Java培训让你体会java编程的快乐,项目开发的兴奋,成就感,通过短短几个月的时间,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,迅速成为技能型的现代化高端人才,迅速获得高薪就业!

  • 相关阅读:
    LiveCharts文档-3开始-1安装
    LiveCharts文档-2FAQ
    时间戳的简介
    LiveCharts文档-1前言
    做了一个串口读写温度的程序
    CsvHelper文档-6类型转换
    CsvHelper文档-5配置
    如何选择 .NET Framework目标版本
    CsvHelper文档-4映射
    CsvHelper文档-3写
  • 原文地址:https://www.cnblogs.com/gojava/p/3431561.html
Copyright © 2020-2023  润新知