作者ghost3401 (阿hoho)
看板java
标题[问题] 请益Spring WEB MVC开发的问题
时间Fri Sep 6 00:53:02 2013
之前刚接触完STRUTS2..还没摸熟
马上就碰到SPRING..
-------------------------------------
教学网站上,基本概念用不同DEVICE存取的例子:
public interface IDeviceWriter {
public void saveToDevice();
}
public class FloppyWriter implement IDeviceWriter {
public void saveToDevice() {
....
// 实际储存至Floppy的程式码
}
}
public class UsbDiskWriter implement IDeviceWriter {
public void saveToDevice() {
....
// 实际储存至UsbDisk的程式码
}
}
(谢谢梁葛格文章...)
在最近接手的专案,使用STRUTS2 的 Action 作为 Controller
用 annotaion 及 XML 设定方式注入需要的 Service 及 DAO;
我想请教的是:
1. 每个Service 和 DAO 都要先有个空介面,再来实作,
最後透过注入的方式於Controller使用;这样做法是以後维护及延展性佳(?)
但DAO通常不是写了就写了,需要的话就一直在里面加方法取资料..!?
一个DAO用一个介面,CODE中也没有看到重复用同一个DAO介面的;
所以在DAO部分,每个DAO使用一介面实作用意是?
2. 呈上..Service部分也是一样,目前看到的是
每一个Service实作一个介面,不重复
没有范例中同是储存体,但写入方法不同的情况;
所以DI IOC特性在我这个专案中,WEB MVC带来益处是甚麽?
麻烦大家观念指正,感谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.69.32
※ 编辑: ghost3401 来自: 114.45.69.32 (09/06 00:56)
1F:推 jinmin88:你也可以用一个泛型Dao (具有CRUD+下HQL功能)走天下呀 09/06 01:34
2F:→ flowwinds:个人认知, 如果DAO method内容有改变的话, 因controller 09/07 08:42
3F:→ flowwinds:用的是DAO的介面, 所以就controller不用改什麽, 前提是 09/07 08:44
4F:→ flowwinds:DAO的介面设计的够好吧,後续没有要改interface的状况 09/07 08:47
5F:→ flowwinds:DI/IOC是把物件的相依关系从code中移到XML中, 若要抽换 09/07 08:49
6F:→ flowwinds:所相依实作的class,改XML就好;个人想法有错请指正,tks 09/07 08:51
7F:→ flowwinds:更正一下, 不见得都XML, 而是物件跟物件间都相依於介面 09/07 09:01
8F:→ flowwinds:或抽象 09/07 09:02
9F:→ ghost3401:谢谢分享!但还是很抽象的概念..只能从实作了解了 09/07 10:17
10F:→ ghost3401:但想请问"如果DAO method内容有改变的话....." 09/07 10:26
11F:→ ghost3401:C部分不用改? 但如果DAO不用介面方式 只要回传和传入 09/07 10:28
12F:→ ghost3401:没改变,C也不用改呢? 09/07 10:30
13F:→ flowwinds:对啊, 这样C也不用改 09/07 13:02
14F:→ flowwinds:但我了解因为C用到的实际DAO有变动,C的.class需重编译 09/07 13:09
15F:→ flowwinds:底下cyclone350兄说的比较清楚, 依赖介面是为了DAO可能 09/07 13:41
16F:→ flowwinds:的变动, 这是其中一个原因 09/07 13:42