装饰设计模式小试牛刀:

业务需求:调用连接close()方法时,将连接放回连接池。

解决思路:解决无法重写Connection接口第三方实现类的close方法,所以引入一个装饰设计模式。

理解下面代码需要具备的思想:最主要多态吧, 这样任意实现了Connection接口的对象都可以通过构造函数传参达到与任意连接对象组装的意愿(这句话的代码也省略,切记装饰最大的威力就在这),这样就可以减少代码的复用,缺点还未遇见。

最后说一下:close()呢,这里要理解一点放进连接池里的连接对象已经是自定对象了(这句好的代码省略),是一个由第三方实现类的对象包装起来的对象。没错就是下面的MyConnection,


public   class   MyConnection   implements    Connection {

private    Connection    conn;

private    LinkedList<Connection>   dataSource;

public    MyConnection(Connection    conn, LinkedList<Connection>   dataSource) {

    this.conn=conn;

    this.dataSource=dataSource;

}

public    void    close()     throwsSQLException {

    dataSource.add(this);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • 一. Java基础部分.................................................
    wy_sure阅读 3,839评论 0 11
  • 本文包括传统JDBC的缺点连接池原理自定义连接池开源数据库连接池DBCP连接池C3P0连接池Tomcat内置连接池...
    廖少少阅读 16,806评论 0 37
  • 洒在地上的多肉 宁静海岛的沙滩 爱尔兰歌手的情歌 我过了几天平凡生活 乐不思蜀的早餐 电影院和游泳馆 恰巧没有这种...
    一首诗和小H阅读 233评论 0 0