最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)量應該盡可能少。


參考:

設計模式之禪--秦小波


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

分享到微博請遵守國家法律
黎川县| 婺源县| 竹北市| 监利县| 湖南省| 东阳市| 雷山县| 汨罗市| 内乡县| 乌拉特后旗| 灵丘县| 肥东县| 涟源市| 凌海市| 宜宾市| 嫩江县| 黄梅县| 图片| 嘉荫县| 南召县| 昌图县| 当雄县| 合肥市| 林周县| 平阴县| 依安县| 汾阳市| 濮阳市| 陇川县| 通州区| 宣汉县| 海淀区| 广河县| 本溪市| 缙云县| 库车县| 舟曲县| 莒南县| 定边县| 广河县| 呼和浩特市|