国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

六大程序設(shè)計原則 + 合成復(fù)用原則

這篇具有很好參考價值的文章主要介紹了六大程序設(shè)計原則 + 合成復(fù)用原則。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄
  • Global Diagram
  • 依賴倒置原則(依賴抽象接口,而不是具體對象)
  • 單一職責原則(類、接口、方法)
  • 開閉原則 (擴展開放,修改關(guān)閉)
  • 里氏替換原則(基類和子類之間的關(guān)系)
  • 接口隔離原則(接口按照功能細分)
  • 最少知道原則 (類與類之間的親疏關(guān)系)
  • 合成復(fù)用原則(Composite Reuse Principle)

其實沒有什么設(shè)計模式,所謂的設(shè)計模式,只是在OOP( 面向?qū)ο蟪绦蛟O(shè)計)領(lǐng)域內(nèi),一些前人總結(jié)出來的最佳工作實踐而已,可以說是一種拆箱即用的工作模版。

學習設(shè)計模式的壞處:

  • 經(jīng)典的23種設(shè)計模式,涵蓋的場景很多,學習成本高;
  • 很多模式相互交叉,相互可以轉(zhuǎn)換,讓人難以分辨。學習設(shè)計模式是為了解決業(yè)務(wù)問題,但是本末倒置,卻鉆牛角尖去研究設(shè)計模式里面的奧妙了;

不要為了設(shè)計而設(shè)計,這種行為就行一個小孩在大人衣柜前胡亂的穿搭著大人的西裝。
設(shè)計模式,應(yīng)該是在工作有需求之后才來學習(不要擔心來不及),累積了很多場景在心中之后,一通百通。而不是還未熟悉編程,就本末倒置。


程序設(shè)計領(lǐng)域的設(shè)計模式的六大設(shè)計原則 + 合成復(fù)用原則(Composite Reuse Principle) ,都是一些很的思想(它們既可以指這個,也可以代指那個),無法生搬硬套,無法做到很具體的指導(dǎo),我的建議是,有空多看幾遍、多思考看看怎么能運用在實際項目中,在未來時保佑自己在設(shè)計程序時能聯(lián)想到即可。

矛盾性的思考:
有時在面對一個復(fù)雜需求時,可能會面臨滿足了這個原則就會矛盾另一個原則的情況,這種就得做必要的取舍。

關(guān)于記憶的一些個人見解:
設(shè)計模式、設(shè)計原則...,我覺得都是不要去記憶它,而是通過你工作中的項目代碼、網(wǎng)上好的項目代碼,去做歸納總結(jié)、去發(fā)現(xiàn)一些特征。自己不斷的總結(jié)提煉,我覺得這樣才會形成自己的軟件設(shè)計原則,硬背下來的,還是不靈活的。

Global Diagram

六大程序設(shè)計原則 + 合成復(fù)用原則

依賴倒置原則(依賴抽象接口,而不是具體對象)

  • 它強調(diào)了高層次模塊不應(yīng)該依賴于低層次模塊,而是應(yīng)該依賴于抽象(接口)。這個原則有助于降低類之間的耦合度,提高系統(tǒng)的可維護性和可復(fù)用性。
  • 依賴倒置原則要求我們將具體的實現(xiàn)類通過接口或者抽象類進行抽象,以便高層次模塊不需要知道低層次模塊的具體實現(xiàn)細節(jié)。這樣,當?shù)蛯哟文K發(fā)生改變時,高層次模塊不需要進行任何修改,只需要重新配置依賴關(guān)系即可。

單一職責原則(類、接口、方法)

  • 一個類(接口、方法)只承擔一個職責;
  • 變更引起的風險降低。變更是必然的,如果單一職責原則遵守得好,當修改一個功能時,可以顯著降低對其他功能的影響;

開閉原則 (擴展開放,修改關(guān)閉)

  • 對已經(jīng)完成的程序來說,最佳的維護狀態(tài)是,只對擴展開放,對修改關(guān)閉

里氏替換原則(基類和子類之間的關(guān)系)

  • 這個原則的核心思想是,如果一個類繼承自另一個類,那么子類可以替換父類進行任何操作,前提是不能違反程序的原始行為。這要求子類的方法實現(xiàn)不能違背父類的規(guī)范和約束;
  • 子類可以擴展父類的功能,但不能改變父類原有的功能;
  • 只要父類出現(xiàn)的地方,子類就也可以出現(xiàn),而且替換為子類后不會出現(xiàn)任何錯誤;

接口隔離原則(接口按照功能細分)

  • 要求程序員盡量將臃腫龐大的接口拆分成更小的和更具體的接口,讓接口中只包含客戶感興趣的方法;
  • 核心就是:不要讓用戶、接口實現(xiàn)者去實現(xiàn)不相關(guān)的功能;
  • 這個和單一職責原則有點重復(fù);

最少知道原則 (類與類之間的親疏關(guān)系)

  • 最小化權(quán)限;

合成復(fù)用原則(Composite Reuse Principle)

  • 盡量使用對象組合/聚合,而不是繼承關(guān)系達到軟件復(fù)用的目的;
  • 合成或聚合可以將已有對象納入到新對象中,使之成為新對象的一部分,因此新對象可以調(diào)用已有對象的功能;

有些編程語言就沒有繼承概念,只有組合、復(fù)用概念,各自的好壞有待辯證吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-684160.html

到了這里,關(guān)于六大程序設(shè)計原則 + 合成復(fù)用原則的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 設(shè)計模式的六大設(shè)計原則

    一個類只負責一個單一明確的職責。如果一個類同時負責多個職責,來自職責A的需求變更引起的修改可能會導(dǎo)致職責B的功能發(fā)生故障。 比如說一個類T原本是符合單一職責的,后來因為某種原因或者是需求變更了,需要將職責P細分為顆粒度更細的職責P1和職責P2,這時候可以

    2024年02月09日
    瀏覽(31)
  • 面向?qū)ο笤O(shè)計的六大原則(SOLID原則)-——單一職責原則

    單一職責原則(Single Responsibility Principle, SRP)是面向?qū)ο缶幊毯驮O(shè)計的五大SOLID原則之一。它強調(diào)一個類、方法或模塊應(yīng)該只有一個職責,即只做一件事情。如果一個類承擔的職責過多,那么它的可維護性、可讀性和可擴展性都會受到影響。當需要修改類的某個職責時,可能

    2024年03月12日
    瀏覽(44)
  • 面向?qū)ο笤O(shè)計的六大原則(SOLID原則)-——開閉原則

    開閉原則(Open-Closed Principle, OCP)是面向?qū)ο笤O(shè)計的五大SOLID原則之一。這個原則主張“軟件實體(類、模塊、函數(shù)等)應(yīng)該對擴展開放,對修改關(guān)閉”。也就是說,軟件的設(shè)計應(yīng)該允許在不修改原有代碼的情況下增加新的功能。這樣的設(shè)計有助于降低代碼的復(fù)雜性和維護成本

    2024年03月12日
    瀏覽(20)
  • C#設(shè)計模式六大原則之--接口隔離原則

    設(shè)計模式六大原則是單一職責原則、里氏替換原則、依賴倒置原則、接口隔離原則、迪米特法則、開閉原則。它們不是要我們刻板的遵守,而是根據(jù)實際需要靈活運用。只要對它們的遵守程度在一個合理的范圍內(nèi),努為做到一個良好的設(shè)計。本文主要介紹一下.NET(C#) 接口隔離

    2024年02月11日
    瀏覽(17)
  • C#設(shè)計模式之--六大原則 開閉原則

    設(shè)計模式六大原則是單一職責原則、里氏替換原則、依賴倒置原則、接口隔離原則、迪米特法則、開閉原則。它們不是要我們刻板的遵守,而是根據(jù)實際需要靈活運用。只要對它們的遵守程度在一個合理的范圍內(nèi),努為做到一個良好的設(shè)計。本文主要介紹一下.NET(C#) 開閉原則

    2024年02月10日
    瀏覽(26)
  • 設(shè)計模式的六大原則

    設(shè)計模式的六大原則

    1、單一職責原則,其核心就是控制類的粒度大小、將對象解耦、提高其內(nèi)聚性; 2、開閉原則,可以通過“抽象約束、封裝變化”來實現(xiàn)(對擴展開放(提供方),對修改關(guān)閉(使用方),遵循其他規(guī)則最終就是遵循開閉原則,所以開閉是最重要的一個原則); 3、里氏替換

    2024年02月09日
    瀏覽(17)
  • 設(shè)計模式——設(shè)計模式以及六大原則概述

    設(shè)計模式——設(shè)計模式以及六大原則概述

    設(shè)計模式代表有經(jīng)驗的面向?qū)ο筌浖_發(fā)人員使用的最佳實踐。 設(shè)計模式是軟件開發(fā)人員在軟件開發(fā)過程中面臨的一般問題的解決方案。 這些解決方案是由許多軟件開發(fā)人員在相當長的時間內(nèi)通過試錯獲得的。 在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四

    2024年02月13日
    瀏覽(22)
  • (學習打卡2)重學Java設(shè)計模式之六大設(shè)計原則

    (學習打卡2)重學Java設(shè)計模式之六大設(shè)計原則

    ???前言:聽說有本很牛的關(guān)于Java設(shè)計模式的書——重學Java設(shè)計模式,然后買了(*^▽^*) 開始跟著小傅哥學Java設(shè)計模式吧,本文主要記錄筆者的學習筆記和心得。 打卡!打卡! 單一職責原則、開閉原則、里氏替換原則、迪米特法則、接口隔離原則、依賴倒置原則。 (引讀:

    2024年02月03日
    瀏覽(29)
  • C#設(shè)計模式六大原則之--迪米特法則

    設(shè)計模式六大原則是單一職責原則、里氏替換原則、依賴倒置原則、接口隔離原則、迪米特法則、開閉原則。它們不是要我們刻板的遵守,而是根據(jù)實際需要靈活運用。只要對它們的遵守程度在一個合理的范圍內(nèi),努為做到一個良好的設(shè)計。本文主要介紹一下.NET(C#) 迪米特法

    2024年02月11日
    瀏覽(23)
  • Python 程序設(shè)計入門(025)—— 使用 os 模塊操作文件與目錄

    Python 內(nèi)置了 os 模塊及其子模塊 os.path,用于對目錄或文件進行操作。在使用 os 模塊及其子模塊 os.path 模塊時,需要使用 import 導(dǎo)入該模塊,才能使用它們提供的函數(shù)或方法。 1、os 模塊提供的操作目錄的函數(shù) os 模塊提供的操作目錄的函數(shù)如下表所示: 函數(shù) 說明 getcwd() 返回當

    2024年02月11日
    瀏覽(86)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包