首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

由数据库连接所联想到的五种设计模式

2012-10-06 
由数据库连接所联想到的5种设计模式最近在看设计模式方面的资料.突发灵感,从数据库的连接中联想到了5种设

由数据库连接所联想到的5种设计模式
     最近在看设计模式方面的资料.突发灵感,从数据库的连接中联想到了5种设计模式.然后编写了下,都能实现,可能有些实现方式在实际生产环境中并没有意义.就当是对设计模式的学习吧.
     首先上演的就是策略模式.我们在连接数据库时,并非一种数据库,比如,有时是MySql,有时是Oracle,有时又换到SQL Server,都要涉及数据库的切换.此时.我们就可以将数据库连接的算法封装起来,使它们可以相互替换.
     首先我们定义一个策略接口,用来表示数据库的连接.

public class Facade {/** *通过连接操作,提供一个统一的接口,统一跟外界打交道 *减少对具体实现类的依赖. * */public void getConn() {OracleStrategy os = new OracleStrategy();MysqlStrategy ms =  new MysqlStrategy();SQLStrategy ss =    new SQLStrategy();os.getConnDB();ms.getConnDB();ss.getConnDB();}public static void main(String[] args) {new Facade().getConn();}} 


      其实JAVA 中的JDBC数据库连接本身也采用了门面模式.
     最后一个想到的模式那就是模板模式.这个就没有代码了,大家可以参考Spring所提供的jdbc抽象框架.其核心就是JDBC模板.可能与最开始的想法偏离,就当是一种发散性思维吧.
      最后来个简单总结吧,主要实现了五种模式:策略模式,代理模式,装饰者模式,门面模式和模板模式.两大原则:开闭原则和迪米特法则.至于两大原则
    策略模式  :主要强调算法的封装和自由切换.
    代理模式  :为其他对象提供一种代理以控制对这个对象的访问.
    装饰者模式:动态添加一个类的功能,实现比继承更灵活的扩展方式.
    门面模式  :系统对外提供一个统一简单的接口,减少系统间的耦合性.
    模板模式  :将代码的公共行为提取出来,达到复用的目的.
讲得比较简单,就当是抛砖引玉.望大家使劲拍砖.


    
     

  





   




   

热点排行