【設計模式】入門知識整理

一、UML類圖

類包含類名、屬性、操作。

其中“-”表示private,“+”表示public,“ # ” 表示 protected;表示抽象類則類名用斜體表示;

類的操作:類的任意一個實例對象都可以使用的行爲,是類的成員方法。

表示方法:     可見性 名稱(參數列表) [ : 返回類型]  

畫類圖時參照以上

Eclipse中的UML:

繼承關係:

接口關係:

關聯關係:使一個類知道另一個類的屬性和方法,關聯可以是雙向或單向的;一般使用成員變量實現,也可以使用方法形參(此時既可以表示關聯,也可以依賴)

依賴關係:


//依賴關係的三種形式
class Car {   
    public static void run(){   
        System.out.println("汽車在奔跑");   
    }   
}   
     
class Driver {   
    //使用形參方式發生依賴關係   
    public void drive1(Car car){   
        car.run();   
    }   
    //使用局部變量發生依賴關係   
    public void drive2(){   
        Car car = new Car();   
        car.run();   
    }   
    //使用靜態變量發生依賴關係   
    public void drive3(){   
        Car.run();   
    }   
}

聚合關係:強的關聯關係,是整體和個體之間的關係。關聯關係所涉及的兩個類是同一層次,而聚合是一個代表整體,一個代表個體。

//聚合關係中作爲成員變量的類一般使用set方法賦值


//java中一般使用成員變量形式實現
//也就是關聯關係的一種
//語義:車是司機財產的一部分
class Driver {   
    //使用成員變量形式實現聚合關係   
    Car mycar;   
    public void drive(){   
        mycar.run();   
    }   
}

 

組合關係:比聚合關係強的關聯關係。代表整體的對象負責保持部分對象和存活。

 

【實際上,籠統地說,四個關係都是關聯關係,只能靠語境和語義分辨】

參考於:https://www.cnblogs.com/yangyongxin/p/10171346.html

 

二、UML時序圖

它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作。

涉及7種元素:角色(Actor)、對象(Object)、生命線(LifeLine)、控制焦點(Activation)、消息(Message)、自關聯消息、組合片段。

詳細見:https://blog.csdn.net/m0_37805255/article/details/101021593?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158358980319195162547957%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158358980319195162547957&biz_id=0&utm_source=distribute.pc_search_result.none-task

三、軟件設計基本原則

核心:高聚合,低耦合

詳細關於原則解說和代碼理解,見:https://blog.csdn.net/shuaigg001/article/details/100921372?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158364668719725211942934%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158364668719725211942934&biz_id=0&utm_source=distribute.pc_search_result.none-task

四、多態

實現方式:基於繼承、基於接口

詳細見:https://blog.csdn.net/chenssy/article/details/84489574?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

五、OOAD步驟

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