哈哈,越学问题越多,请达人帮忙指点一下

骄阳 发布于 2013/03/05 15:12
阅读 328
收藏 0

1.如果按照面向对象的理论,我们为什么吧方法体定义到数据模型中(DTO)?而另建立其他的类独立出来(DAOImp).

2.当我们调用一个对象的实现的时候往往都是通过接口(DAO)然后new出一个它的实现类(DAOImp)来进行操作.为什么我们要用接口来操作呢?为什么不直接用实现类来操作.(如果您说是因为接口中只封装了用户关心的方法,而不需要是关心谁实现的.那么请问下,当你new这个接口的实现的时候,不还是要需要知道这个接口是哪个类实现的么?)

以下是问题补充:

@骄阳:达人!在比如我有一个dog的表需要对这个表操作,需要建立个模型把他的属性变成字段,然后把他的行为写到DAOImp里为什么????如果面向对象的思想不应该都在一个类里么? (2013/03/05 15:26)
加载中
0
丁加砙
丁加砙
最后一个问题实际是贫血和富血模型的争论,可以搜一下这方面的文章。
0
魔力猫
魔力猫

1模型是Domain,不是DTO。DTO指的是从数据库到对象的意思。

2类之间关系的组装可以在第三方进行,所以模块之间只知道接口就可以不用关注具体实现了。

请看领域驱动设计和IOC的相关资料学习。

魔力猫
魔力猫
回复 @羅立安的眼光 : 大多数情况下都是指从数据库到对象。确实不全是。
羅立安的眼光
羅立安的眼光
DTO是数据传输对象,不一定和数据库挂钩吧
0
liu6jing6
liu6jing6
额。。。能用而且符合那3个标准就行了,,,, 这是进化出来的做法。。。
0
羅立安的眼光
羅立安的眼光
为什么我们要用接口来操作呢?为什么不直接用实现类来操作
依赖接口,不依赖具体实现
返回顶部
顶部