有必要使用dao时候使用工厂模式和接口吗?
先说明下是怎么使用dao的接口和工厂模式的(甚至包含抽象工厂模式)
1.当我们建立一个系统的时候,我们并不知道将要要用到什么样子的数据库,而且有可能随着
变化我们用到的数据库也有可能就被别的好的数据库代替。这个是使用dao接口及抽象工厂模式的前提
2.比如我们有一个user对象,我么对其操作要建立uerdao,我们仅仅知道对其操作,但是具体的做要要在数据库里面实现,不同的数据库操作不要一样,因此我们分成多种dao。但是这些别的人员并不一定要知道,别人用的是dao,没有必要去知道我用什么数据库来操作。因此uerDAo是个接口
诞生了userMySQLDAO,userOracleDAO等等。有了这些以后,使用者仅仅用个到userDAo的方法就可以
但是新的问题又出现了
3.userdao是一个接口我怎么去使用,我不能new我怎么使用
于是就出来了factory工厂可以魏你建立一个你自己想要的DAO就可以了。factory.getUserMySQLDAO。如果factory是一个一般的类,那么我们必须知道是什么样子的工厂,是mysql的工厂还是oracle的工厂。
因此要使用抽象工厂模式
辩论:
这样好吗?
这样的factory每次都在用new来创建对象。会不会造成资源的浪费那?
为什么我们不能用一个静态的办法来代替那?
比如我仅仅定义一个userdao的类
相关推荐
dongxurr 2020-08-08
园搬家测试账号 2020-06-12
技术之博大精深 2020-06-10
snowphy 2020-05-12
snowguy 2020-05-03
yunzhonmghe 2020-04-07
cnflat0 2020-03-04
kevincheung 2020-02-20
neweastsun 2020-02-18
疯狂老司机 2020-02-13
xcguoyu 2019-12-04
纯粹的果子 2020-01-03
smalllove 2019-12-29
横云断岭 2019-12-29
zhaojp0 2019-12-29
javamagicsun 2019-12-11
Andrea0 2019-11-30