设计模式-数据访问对象模式

数据访问对象模式 | 菜鸟教程

思考:

        这个好几年前经常会被问到,为啥dao层要有个接口?service层掉dao 不直接掉,调用接口?记得当时有的说可以切换数据库,只要再写个实现啥的,其实也没有根本解决这个疑问。直到去年,我写了个小框架,才有些理解。

好处:

         数据操作实现可扩展更改,有时候我们获取数据,比如一些配置,你定义了一个接口,默认读xml,这个可以,但是很多公司配置是有配置中心的,需要rpc调用或者其他操作,你如果写死,你的框架就不具备扩展性,满足不了需求,数据库方面,如果有一些业务,比如就一块数据量比较大的业务,有几个表或实体,想更换成其他数据库,mongdb或者hive,甚至redis(打个比方),有的公司确实一个项目会连多种数据库。。。

  • 数据访问对象接口(Data Access Object Interface) - 就是定义了增删盖茶的接口
  • 数据访问对象实体类(Data Access Object concrete class) - 实现了数据访问对象接口,可以是mybatis的mapper,也可是JDBC,等实现,甚至读取xml
  • 模型对象/数值对象(Model Object/Value Object) - 实体类 get set

总结:

        有的时候遇到过后,再回头会有新的感觉吧,程序还是那些程序,代码还是那些代码,少年却不是那个少年了。

猜你喜欢

转载自blog.csdn.net/u010191034/article/details/120781276