軟體設計模式六大原則,你懂多少呢?

2020-12-17 一杯82年的Java
軟體設計模式

軟體設計模式,簡稱設計模式,它是一種反反覆覆被使用,多數人經過分類編目的,代碼設計經驗的總結。使用設計模式可以為了減少重複的代碼,讓代碼變得更加簡潔,讓人更加容易理解,保證代碼的可靠性,程序可重複性。

設計模式的六大原則,你懂多少呢?

1.六大原則-單一職責原則

原則思想:一個方法只負責一件事情。描述:單一職責原則很簡單,一個方法 一個類只負責一個職責,各個職責的程序改動,不影響其它程序。 這是常識,幾乎所有程式設計師都會遵循這個原則。優點:降低類和類的耦合,提高可讀性,增加可維護性和可拓展性,降低可變性的風險。

2.六大原則-裡氏替換原則

原則思想:使用的基類可以在任何地方使用繼承的子類,完美的替換基類。描述:子類可以擴展父類的功能,但不能改變父類原有的功能。子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法,子類中可以增加自己特有的方法。優點:增加程序的健壯性,即使增加了子類,原有的子類還可以繼續運行,互不影響。3.六大原則-依賴倒置原則

原則思想:高層次的模塊不應該依賴於低層次的模塊,他們都應該依賴於抽象,抽象不應該依賴於具體實現,具體實現應該依賴於抽象。描述:類A直接依賴類B,假如要將類A改為依賴類C,則必須通過修改類A的代碼來達成。這種場景下,類A一般是高層模塊,負責複雜的業務邏輯;類B和類C是低層模塊,負責基本的原子操作;假如修改類A,會給程序帶來不必要的風險。優點:可以減少需求變化帶來的工作量,做並行開發更加友好。

4.六大原則-接口隔離原則

原則思想:類和類之間應該建立在最小接口的上。描述:類A通過接口依賴B,類C通過接口依賴D,如果接口類A和類B不是最小的接口,則依賴的類B和類D必須要實現他們不需要的方法。優點:提高程序的靈活度,提高內聚,減少對外交互,使得最小的接口做最多的事情。5.六大原則-迪米特法則

原則思想:一個對象應當對其他對象有儘可能少地了解,簡稱類間解耦描述:一個類儘量減少自己對其他對象的依賴,原則是低耦合,高內聚,只有使各個模塊之間的耦合儘量的低,才能提高代碼的復用率。優點:低耦合,高內聚。6.六大原則-開放封閉原則

原則思想:儘量通過擴展軟體實體來解決需求變化,而不是通過修改已有的代碼來完成變化描述:一個軟體產品在生命周期內,都會發生變化,既然變化是一個既定的事實,我們就應該在設計的時候儘量適應這些變化,以提高項目的穩定性和靈活性。優點:單一原則告訴我們,每個類都有自己負責的職責,裡氏替換原則不能破壞繼承關係的體系。

相關焦點

  • 六大設計原則超詳細介紹(再不理解你打我)
    軟體設計最大的難題就是應對需求的變化,但是紛繁複雜的需求變化又是不可預料的,我們要為不可預料的變化做好準備,這本身是一件非常痛苦的事情,但好在有大師們已經給我們提出了非常好的六大設計原則和23種設計模式來「封裝」未來的變化。本文只針對六大設計原則進行介紹,設計模式放在後面的文章進行詳解。
  • 教你五分鐘速記六大原則-23種設計模式
    六大原則:1、開閉原則(對擴展開放,對修改關閉)2、裡氏代換原則(任何基類可以出現的地方,子類一定可以出現)3、依賴倒轉原則(真對接口編程,依賴於抽象而不依賴於具體。)4、接口隔離原則(使用多個隔離的接口,比使用單個接口要好)5、迪米特法則(:一個實體應當儘量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立)6、合成復用原則(原則是儘量使用合成/聚合的方式,而不是使用繼承。)
  • .NET 設計模式的六大原則理論知識
    依賴倒置原則(DIP)(Dependence Inversion Principle)4. 接口隔離原則(ISP)(Interface Segregation Principle)5. 迪米特原則(LOD)(Law Of Demeter)6.
  • 設計模式設計原則——備忘錄
    2、裡氏代換原則(Liskov Substitution Principle)裡氏代換原則是面向對象設計的基本原則之一。裡氏代換原則:任何父類可以出現的地方,子類一定可以出現。裡氏替換原則是繼承復用的基石,只有當子類可以替換掉父類,且軟體的功能不受到影響時,父類才能真正被復用,而子類也可以再父類的基礎上增加新的行為。裡氏代換原則是對開閉原則的補充。 實現開閉原則的關鍵步驟就是抽象化,而父類與子類的繼承關係就是抽象化的具體體現,所以裡氏代換原則是對實現抽象化的具體步驟的規範。
  • 20 個設計模式和軟體設計面試問題
    實際上,編程能力和設計技巧是對彼此很好的補充。一個好的程式設計師通常都是一個好的軟體設計人員。他們知道怎麼把一個問題分割成一段段代碼或者軟體設計,但這些能力和技巧並不能憑空而來。你需要持續做大型、小型系統的設計和編碼,並且不斷從錯誤中學習。從面向對象設計原則 開始是一個不錯的選擇。好吧,這篇文章是關於一些在各種面試中頻繁問到的一些設計問題。
  • 萬字長文帶你捋清六種設計模式的設計原則(建議收藏)
    其實設計模式的提出都是為了解決一個常見的問題而總結出來的辦法。所以當你思考採用何種設計模式的時候,你應該先問問自己當前問題的是什麼?根據問題去選取合適的設計模式。等你熟悉了設計模式的以後,你會發現部分設計模式之間存在包含關係,甚至很相像,但是不同的設計模式解決的問題是不一樣的。當我們在設計一個模塊的時候可以從以下幾個角度去考慮:這個模塊與其他模塊的關係是什麼樣的?
  • 程序設計開發的六大原則 核心思想
    四、接口隔離原則  Interface Segregation Principle,建立單一接口,不要建立臃腫龐大的接口,接口儘量細化,同時接口中的方法儘量少。(單一職責要求的是類和接口職責單一,注重的是職責,這是業務邏輯上的劃分,而接口隔離原則要求接口的方法儘量少。
  • 平面設計要學多少軟體呢?
    今天,橘子決定和大家一起討論,作為一名有上進心的平面設計師,我們到底需要掌握多少種設計軟體呢? 1.必修課 PS作為Adobe家族最核心的軟體,也是平面設計師入門的第一款軟體,在圖像、圖形、文字、視頻、出版等各方面都有涉及。
  • 設計模式六大原則(4):接口隔離原則
    (圖1 未遵循接口隔離原則的設計)這個圖的意思是:類A依賴接口I中的方法1、方法2、方法3,類B是對類A依賴的實現。類C依賴接口I中的方法1、方法4、方法5,類D是對類C依賴的實現。如果將這個設計修改為符合接口隔離原則,就必須對接口I進行拆分。在這裡我們將原有的接口I拆分為三個接口,拆分後的設計如圖2所示:
  • 設計原則之開閉原則
    【IT168 分析評論】    開閉原則是設計原則基礎的基礎,其它原則均圍繞開閉原則進行展開。開閉原則也就是一個軟體實體應當對擴展開放,但對修改關閉。滿足了開閉原則的設計,我們的系統將達到在設計穩定的基礎上,方便的對軟體進行擴展,插入新的功能模塊的目的。    怎麼樣做的開閉原則呢?
  • 軟體架構五大原則,確保你的項目100%成功
    這些角度包括原則、標準、模式和反模式、經驗法則和經驗實踐,而這些對於決策方向確定和項目評估成功至關重要。本文將一一介紹這些架構原則。SOLID五原則SOLID原則不僅適用於軟體開發,也適用於系統的架構。
  • 從零開始學設計模式(一)——設計模式介紹及工廠模式
    設計模式是軟體開發人員在軟體開發過程中面臨的一般問題的解決方案。- 可復用的面向對象軟體元素) 的書,該書首次提到了軟體開發中設計模式的概念。4、接口隔離原則(Interface Segregation Principle)這個原則的意思是:使用多個隔離的接口,比使用單個接口要好。它還有另外一個意思是:降低類之間的耦合度。由此可見,其實設計模式就是從大型軟體架構出發、便於升級和維護的軟體設計思想,它強調降低依賴,降低耦合。
  • 作為程式設計師不可不會的設計模式七大原則之——「開閉原則」
    今天給大家分享一下設計模式七大原則中的「開閉原則」,也稱為OCP原則。好了閒話不多說,直接進入正文。「開閉原則」是面向對象編程中最基礎和最重要的設計原則之一。我們在設計程序中使用一些設計模式和遵守相關的設計原則,都是為了可以使我們的程序可以實現「開閉」!說了這麼多,那到底什麼是開閉原則那?
  • 軟體設計的幾大原則匯總
    軟體設計的幾大原則匯總單一職責原則單一職責原則:英文為Single Responsibility Principle(SRP),這個原則要求我們在設計類或者接口的時候尤其在設計接口的時候把職責分清楚,通常一個職責不是單一的方法,是一類方法的組合。在開發的時候很難做到單一,我們在接口設計時一定做單單一,在類的設計時儘量做到單一原因引起變化。
  • 再談面向對象的設計原則
    談到面向對象,們毫不猶豫的說出面向對象的三大特徵:封裝、繼承、多態,面向對象這在軟體的構架設計中是非常重要的,最能直接體現出來的優點就是軟體的擴展性和重用性。要理解面向對象編程,只停留在開發層面上,是無法深入理解的。只有在設計層面上展開才能逐步的領會面向對象。但在實際的開發中,並不是每一個人都能夠接觸到核心的設計工作。
  • 設計的五大原則-SOLID
    在這本書裡面的第三章介紹了設計原則,這部分我覺得對於大家的平時工作都比較有用。2. 設計原則想必大家在學習面向對象的時候,都學習過下面幾大原則:SRP 單一職責:該設計原則是基於康威定律的推論,每個軟體模塊有且只有一個被更改的理由。OCP 開閉原則:對擴展開放,對修改關閉。LSP 裡氏替換原則:任何基類可以出現的地方,子類一定可以出現。
  • 設計模式:單一職責原則
    其實上單一職責原則和接口隔離原則有一定的關係,接口隔離以後,職責就單一了,實現這個接口的類的職責自然也就單一了。但是接口隔離關注的是抽象層,單一職責關注的是兩者兼而有之,偏重於實現。2、為什麼要遵守單一職責原則1、提高類的可維護性和可讀寫性一個類的職責少了,複雜度降低了,代碼就少了,可讀性也就好了,可維護性自然就高了。
  • SOLID設計原則解釋 - 單一責任原則
    SOLID是面向對象軟體開發中最流行的設計原則之一。單一責任原則的論據相對簡單:它使您的軟體更易於實施,並防止未來變更的意外副作用。變化的頻率和影響我們都知道需求會隨著時間而變化。他們每個人也改變了至少一個班級的責任。你的團隊職責越多,你就越需要改變它。如果您的類實現多個職責,則它們不再相互獨立。
  • 領略設計模式——工廠模式
    例如在A類的方法中創建了B類的對象並使用,B類設計的更改對A類的影響是巨大的。從開放封閉原則(OCP)上來說,B類的擴展是開放的,修改時關閉的。給B類增加一個構造方法,是符合OCP原則的。如果B類新增的構造方法是針對A類增加的,那麼A類就必須修改B類的創建方式(如圖1所示)。
  • 孩子交友的「六大原則」
    孩子交友的「六大原則」2007-11-13 09:52 作者:佚名 來源: 錄入:chenyisi   收藏本文導讀:不管孩子的個性是哪一種,無論他是天生容易交朋友,或是具有侵略性,或膽小,有一些一般的原則可以幫助他們交朋友