爲什麼dao層和service層要寫接口和實現類

爲什麼要用Service接口?是讓表示層不依賴於業務層的具體實現。爲什麼要用DAO接口?是讓業務層不依賴於持久層的具體實現。舉個例子,用DAO接口,那麼持久層用Hibernate,還是用iBatis,還是 JDBC,隨時可以替換,不用修改業務層Service類的代碼。
不用接口的話,假如修改了dao中的代碼,因爲service引用了dao中的類,那麼也要改變service裏面的代碼,改完之後要重新編譯運行,當項目比較大的時候,編譯和運行很浪費時間的,而且會產生一些意外,本來只要編譯dao中的代碼,現在不光要編譯dao中的代碼,還要編譯service。因爲你不用接口,間接着action裏的代碼也要改,因爲action中引用了service中的類,到最後,就變成了,牽一髮而動全身。
爲什麼要寫Imp實現類呢,是因爲後期維護的時候如果要修改功能只需要修改實現類裏面的那個代碼,而不需要修改其他包的代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章