?

          ?

          UML

          +”:public -private,“#protected

          依賴關(guān)系:用虛線箭頭表示;

          關(guān)聯(lián)關(guān)系:用實心箭頭表示;

          繼承關(guān)系:用空心三角形+實線表示;

          實現(xiàn):用空心三角形+虛線表示;

          聚合關(guān)系(Aggregation):表示一種弱的“擁有”關(guān)系。體現(xiàn)的是:A對象可能包含B對象,但B對象不是A對象的一部分。用空心的菱形+

          線箭頭表示。

          合成關(guān)系(Composition):也叫“組合”關(guān)系。是一種強的“擁有關(guān)系”,體現(xiàn)了嚴格的整體和部分的關(guān)系,部分和整體的生命周期一樣。

          用實心的菱形
          +實線箭頭表示。

          軟件設(shè)計原則

          代碼的要求:可維護,可復用,可擴展,靈活性好。

          面向?qū)ο蟮娜筇卣鳎悍庋b,繼承和多態(tài)。

          單一職責原則

          就一個類而言,應(yīng)該僅有一個引起它變化的原因。如果一個類承擔的職責過多,就等于把這些職責耦合在一起,一個職責的變化,可能會削弱或者抑制這個類完成

          其它職責的能力。這種耦合會導致脆弱的設(shè)計,當變化發(fā)生時,設(shè)計會遭受意想不到的破壞。

          軟件設(shè)計真正要做的內(nèi)容,就是發(fā)現(xiàn)職責并把職責相分離。如果你能想到多于一個的動機去改變一個類,那么這個類就具有多于一個的職責。

          開放、封閉原則

          軟件實體應(yīng)該可以擴展,但是不可以修改。

          對于擴展是開放的,對于修改是封閉的。

          依賴倒轉(zhuǎn)原則

          抽象不應(yīng)該依賴細節(jié),細節(jié)應(yīng)該依賴抽象。

          針對接口編程,不要針對實現(xiàn)編程。

          里氏代換原則

          子類型必須能替換掉它們的父類型。

          一個軟件實體,如果使用的是一個父類的話,那么一定適用于其子類,而且它覺察不出父類對象和子類對象的區(qū)別。也就是說,在軟件里面,把父類都替換成它的

          子類,程序形為沒有變化。

          迪米特法則

          也叫最少知識原則。

          如果兩個類不必彼此直接通信,那么這兩個類就不應(yīng)當發(fā)生直接的相互作用。如果一個類需要調(diào)用另一個類的一個方法,可以通過第三者轉(zhuǎn)發(fā)這個調(diào)用。

          在類的結(jié)構(gòu)設(shè)計上,每一個類都應(yīng)該盡量降低成員的訪問權(quán)限。

          它強調(diào)了類之間的松散耦合。
          ?

          合成復用原則

          多用聚合與合成,少用繼承關(guān)系。


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 雷州市| 平邑县| 赤水市| 正宁县| 邵阳市| 道真| 额济纳旗| 河南省| 哈密市| 穆棱市| 桂平市| 文山县| 武山县| 肃北| 东港市| 新巴尔虎左旗| 深泽县| 蒲江县| 重庆市| 利津县| 柘荣县| 闽侯县| 芷江| 惠来县| 昆山市| 宜兰市| 新蔡县| 五大连池市| 宝鸡市| 县级市| 友谊县| 镇巴县| 衡水市| 衡阳市| 萨嘎县| 岳普湖县| 平和县| 钦州市| 开平市| 全州县| 达孜县|