五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

面向對象設計模式 -- 六大設計原則

2023-04-07 19:42 作者:原裝-_-老弟  | 我要投稿

面向對象設計模式 --?設計原則

????????寫代碼時,經(jīng)常性的會遇到許多糾結的問題,比如,在修改用戶信息時,猶豫是寫多個方法來分別實現(xiàn)對應信息的修改,還是寫一個類,根據(jù)某一參數(shù)來判斷是哪個數(shù)值的修改,然后在方法中一堆 if 或者 switch 來修改等等。

????????如果是,那很顯然,對于面向對象的設計模式,你還沒有了解太多,否則你會對這些猶豫的處理會很有條理。

  1. 單一職責

    一個對象或接口應該只包含單一的職責,且該職責被完整的封裝在一個類中。

  2. 開閉原則

    一個軟件實體(類、函數(shù)等)應該對外拓展開放,對修改關閉。

  3. 里式代換

    原定義:

    1. 第一種定義--If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T,the behavior of P is unchanged when o1 is substituted for o2 then S is a subtype of T. 如果對每一個類型為S的對象o1,都有類型為T的對 象o2,使得以T定義的所有程序P在所有的對象o1都代換成o2時,程序P的行為沒有發(fā)生變 化,那么類型S是類型T的子類型。

      就是說一個子類可以完全替換父類的使用。


    2. 第二種定義--Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it. 所有引用基類的地方必須能透明地使用其子類的 對象。


  4. 依賴倒轉

    ?????高層模塊不應該依賴底層模塊,應該都依賴于抽象;

    ? ? ?抽象? ? ? ?不應該依賴于細節(jié),細節(jié)應該依賴于抽象。

    ????就是說抽象應該是在抽象與細節(jié)之間是獨立的,不需要考慮已經(jīng)實現(xiàn)的細節(jié)。

  5. 接口隔離

    ?????不應繼承不需要的接口。

    ?????這里不是表面的類不繼承其他不需要的接口,還蘊含的潛規(guī)則是:已經(jīng)繼承的接口中也不出現(xiàn)不需要的接口。即,接口也應該保持自身的簡潔性。

  6. 合成復用

    ?????優(yōu)先使用對象組合,而不是繼承。

  7. 迪米特法則

    ????最少知識原則。即一個對象應該對其他對象有最少的了解。

    ?????對象在訪問其他對象時,可訪問的成員數(shù)量應該盡可能少。


參考:

設計模式之禪--秦小波


面向對象設計模式 -- 六大設計原則的評論 (共 條)

分享到微博請遵守國家法律
辽宁省| 东平县| 武穴市| 连云港市| 神池县| 灵山县| 中牟县| 三台县| 阳春市| 万山特区| 黔江区| 桐柏县| 黑水县| 松滋市| 浮山县| 霞浦县| 砀山县| 兴隆县| 佛山市| 石阡县| 图木舒克市| 巴林左旗| 雷山县| 石狮市| 闵行区| 贵州省| 邮箱| 运城市| 大渡口区| 尚义县| 同江市| 乐昌市| 容城县| 定兴县| 莆田市| 秦皇岛市| 东乌| 昂仁县| 霍邱县| 山东| 青州市|