java設計模式之基本原則

前面已經介紹了兩個原則
開放封閉原則
單一職責原則
今天我們再來看看另外一個原則:依賴倒置原則,他包含兩個方面
A.高層次的模塊不應該依賴於低層次的模塊,他們都應該依賴於抽象。
B.抽象不應該依賴於具體,具體應該依賴於抽象。
其實這兩句話總結起來說就是要依賴域抽象。在java中說白了就是要面向接口編程。
下面我們舉個經典的例子:現在汽車很普遍,學了一個駕照大部分車都能開。但是你有沒有想過如果每一個品牌的車的駕駛方式都不一樣,那麼你每換一個車就得重學一遍。說以說每臺車的操作方式都應該有一個標準的規範,而這個規範對應到我們編程就是接口。所有的車都應該依賴這個接口。想來通過這個例子你就能理解依賴倒置原則的好處了:
採用依賴倒置原則可以減少類間的耦合性,提高系統的穩定性,減少並行開發引起的風險,提高代碼的可讀性和可維護性。
接下來我們再用jdk中的例子來說明:
看下面一段代碼:


public class Test {

    public static void main(String[] args) {
        List list=new ArrayList();
        list.add("11");
        System.out.println(list.get(0));
    }

}

這段代碼我們運行肯定是輸出11;接下來我們對代碼進行修改


public class Test {

    public static void main(String[] args) {
        List list=new LinkedList();//list改成linkedList
        list.add("11");
        System.out.println(list.get(0));
    }

}

代碼依舊運行正常,這是因爲arrayList和linkedlist都實現了list接口,我們可以把他們都當做list來用,這就是面向接口編程的好處。這其中還涉及到另外一個原則:里氏替換原則中說,任何基類可以出現的地方,子類一定可以出現。這個很容易理解大家也一直在用,我就不再細說了。好了今天就到這。下次我們可能就會說說具體的設計模式了。

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