为什么 java 写 mvc 的时候,都要写个 Dao、Service 接口,然后再写个 DaoImpl、ServiceImpl?

2015-07-23 14:34:21 +08:00
 li24361

遇到公司,基本都这么写,我感觉dao这个接口没卵用啊,就是生命一个接口里面的方法,总不会说别人给你写个dao,然后你去实现方法吧

8842 次点击
所在节点    问与答
34 条回复
yakczh
2015-07-23 19:49:19 +08:00
所以说php是最好的语言,就是这么来的
yakczh
2015-07-23 19:51:45 +08:00
php一样写dao 一样写service,但不用写daoimpl serviceimpl 瞬间让很多java程序员失业了
vietor
2015-07-23 20:53:22 +08:00
是一种累赘,十几年前流行的方法论,现在不入流了。
GeBron
2015-07-23 22:40:49 +08:00
用了 mybatis 之后就不用写 daoimpl 了……
iyangyuan
2015-07-24 08:38:01 +08:00
都说dao层抽象之后可以无缝切换数据库,什么情况下才会换数据库呢?求教
li24361
2015-07-24 09:10:02 +08:00
总结了一下答案,90%的项目不需要写,真等到重构了,用ide工具分分钟抽取出来
phx13ye
2015-07-24 09:32:37 +08:00
Dependency Inversion principle: Depend upon abstractions. Do not depend upon concrete classes.
donyee
2015-07-24 10:56:02 +08:00
小项目都不需要这么写了吧,数据库一般也不会切换;
FrankFang128
2015-07-24 11:04:06 +08:00
@iyangyuan 基本不会切数据库,就算切,工作量也不在这几个类那里 XD
mouhong
2015-07-24 11:35:39 +08:00
@ieiayaobb 八股+1
RagingSweet
2015-07-24 14:35:22 +08:00
楼上一群人不要误导人好伐,这样提炼接口是为了使用JDK的动态代理
li24361
2015-07-24 18:56:59 +08:00
@RagingSweet 比如?
RagingSweet
2015-07-27 14:35:17 +08:00
@li24361 比如什么?JDK自带的动态代理必须要接口
incompatible
2015-07-28 02:35:49 +08:00
@li24361 比如事务的实现啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/207800

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX