Action層與Service層有什么區(qū)別?
????本人是個初學(xué)者,只是剛在JAVA的路上入門,之前剛在別的網(wǎng)站上學(xué)過DAO層(數(shù)據(jù)層)與Service層(業(yè)務(wù)層)的JDBC使用:
定義一個DatabaseConnection類負(fù)責(zé)數(shù)據(jù)庫的連接與關(guān)閉;
定義Goodess類;
? ? 3.定義一個公用的接口(IDAO)里面定義CRUD的方法;
????4.定義一個DAO層接口(IGoddessDAO)來繼承IDAO,這個接口作為數(shù)據(jù)層的操作標(biāo)準(zhǔn),最終交由業(yè)務(wù)層調(diào)用;
????5.定義一個子類(GoddessDAOImpl)實現(xiàn)這個DAO層的接口;
????6.定義一個工廠類(DAOFactory)來獲取這個子類的對象;
????7.接下來是業(yè)務(wù)層,Service層也定義有一個有CRUD方法的接口(IGoddessService);
????8.定義一個業(yè)務(wù)層子類(GoddessServiceImpl)實現(xiàn)這個接口,這個子類很像這個老師講的Action層的類,兩者的意思和實現(xiàn)方式基本是一樣的,都是通過這個類來調(diào)用DAO層的方法;
????9.定義一個Service層的工廠類(ServiceFactory)獲取子類對象。????
????10.最后測試時只需要通過Service層工廠類返回的對象調(diào)用Service層的方法即可,完全不用管DAO層方法的具體實現(xiàn)。
????我覺得這種設(shè)計邏輯很好理解,修改也挺簡單的。由于本人還沒有學(xué)習(xí)過框架,因此不知道MVC框架是不是就是像這個老師講的這樣,我所說的這種DAO層與Service層也可以使用在MVC框架里嗎?這個Action層到底與Service層有什么區(qū)別呢?它的功能是什么?我所說的這種是有實際應(yīng)用價值的嗎?希望有老師和前輩來解答下本人的疑惑,不勝感謝!
2022-03-27
我也是找不到用DOM1級吧,DOM2級IE8不支持。
2016-12-27
你學(xué)完JavaEE就知道了,就是JavaEE的三個框架而已。
2016-12-27
dao層和service層都可以用在MVC里面,這么用是為了降低耦合性和提高代碼的重用性,在框架中方便通過調(diào)用接口去執(zhí)行子類的具體方法來實現(xiàn)具體的內(nèi)容,Action和Service的區(qū)別在于Service定義基本方法,而Action是調(diào)用基本方法去實現(xiàn)具體行為。舉個例子來說比如你吃飯,在Service中可以定義是用筷子和用叉子,Action中是具體的去吃中餐還是西餐,這時候就需要在Service中選擇使用哪種基本方法,Service的代碼復(fù)用性比較高。其實最好的例子你去學(xué)一下MVC的框架比如Struts,Struts2看了之后你就會很好地理解了為什么這么分了,不是這么做也可以完成任務(wù),但是這么分在項目中用起來真的很方便。我是個學(xué)生也正在學(xué),有什么不對的地方,你來打我?。?=)/