爲什麼J2EE Service層、Dao層要有接口

在此不單單隻說爲什麼這兩層要有接口,包括了平時開發寫接口的好處,不是不寫不行,而是寫了更方便程序擴展和後期維護。
0.有個接口,注入的時候可以注入到Service對象,沒有你就要注入到ServiceImp對象。
以後修改了實現,變成ServiceImp2.java了,有接口的話,注入都不用修改。沒有的話,你要修改所有用到ServiceImp的類。
1.面向對象設計原則中有三條與此相關:開閉原則、依賴倒轉原則、理氏替換原則。還記得依賴倒轉原則吧?高層不依賴於低層,二者都依賴於抽象,也就是面向接口編程。 ——知乎用戶

2.在開源框架中有很多這種情況,就是某個功能支持用戶自定義擴展.說白了,它提供了一個接口,我們只需要實現這個接口,把我們自己的實現邏輯補上,就可以讓框架按照我們的邏輯來執行.問題來了,框架的作者並不知道我們的實現類是什麼,如果不定義一個接口,那麼要如何在框架中調用我們的實現類呢?

3.我和同事分別做項目的2個不同功能模塊,但是同事的功能中卻需要調用我這頭實現的部分邏輯.爲了讓他有一個"佔位符"可用,我是不是應該快速的寫個接口扔給他呢?

4.一個適配器功能,或是說一個簡單的工廠類,如果沒有定義接口,那麼面對衆多實現類,要如何統一操作呢?

5.想讓項目的代碼符合某種"規範",但是又不可能看着別人寫代碼吧,那好辦,先出一套接口,然後你們就看着辦~

6.java中沒有多繼承,但是可以多實現接口,那麼就有一件很有趣的事情了,一個實現類可以實現多個接口,然後此時接口可以有選擇的暴露實現類的部分方法,做到"窄化"實現類功能的目的.**

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