Posted on 2010-04-02 14:11
java小爬蟲 閱讀(1367)
評論(0) 編輯 收藏
?
?
UML
“+”:public “-”private,“#”protected
依賴關系:用虛線箭頭表示;
關聯關系:用實心箭頭表示;
繼承關系:用空心三角形+實線表示;
實現:用空心三角形+虛線表示;
聚合關系(Aggregation):表示一種弱的“擁有”關系。體現的是:A對象可能包含B對象,但B對象不是A對象的一部分。用空心的菱形+實
線箭頭表示。
合成關系(Composition):也叫“組合”關系。是一種強的“擁有關系”,體現了嚴格的整體和部分的關系,部分和整體的生命周期一樣。
用實心的菱形+實線箭頭表示。
軟件設計原則
代碼的要求:可維護,可復用,可擴展,靈活性好。
面向對象的三大特征:封裝,繼承和多態。
單一職責原則
就一個類而言,應該僅有一個引起它變化的原因。如果一個類承擔的職責過多,就等于把這些職責耦合在一起,一個職責的變化,可能會削弱或者抑制這個類完成
其它職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受意想不到的破壞。
軟件設計真正要做的內容,就是發現職責并把職責相分離。如果你能想到多于一個的動機去改變一個類,那么這個類就具有多于一個的職責。
開放、封閉原則
軟件實體應該可以擴展,但是不可以修改。
對于擴展是開放的,對于修改是封閉的。
依賴倒轉原則
抽象不應該依賴細節,細節應該依賴抽象。
針對接口編程,不要針對實現編程。
里氏代換原則
子類型必須能替換掉它們的父類型。
一個軟件實體,如果使用的是一個父類的話,那么一定適用于其子類,而且它覺察不出父類對象和子類對象的區別。也就是說,在軟件里面,把父類都替換成它的
子類,程序形為沒有變化。
迪米特法則
也叫最少知識原則。
如果兩個類不必彼此直接通信,那么這兩個類就不應當發生直接的相互作用。如果一個類需要調用另一個類的一個方法,可以通過第三者轉發這個調用。
在類的結構設計上,每一個類都應該盡量降低成員的訪問權限。
它強調了類之間的松散耦合。
?
合成復用原則
多用聚合與合成,少用繼承關系。