物件導向程式設計設計模式 設計模式分類和原則

2021-10-09 03:49:25 字數 1407 閱讀 6515

其實與其說是設計模式的七大原則,不如說是物件導向的軟體開發的七大原則,因為這七大原則不僅僅是在設計模式中需要遵循,而是在軟體開發過程中都要盡量根據這七條原則來開發。這七條原則的目的是為了提高軟體系統的可維護性和可復用性,增加軟體的可拓展性和靈活性,從而提高開發效率,節約開發成本和維護成本。

七大原則包括:開閉原則、黎克特制替換原則、依賴倒置原則、單一職責原則、介面隔離原則、迪公尺特法則和合成復用原則。

設計模式有許多種不同的分類方法。根據目的來分類,即根據設計模式完成的工作來劃分,主要可以分為三種,分別是建立型模式、結構性模式和行為型模式;如果根據作用範圍來劃分,即根據設計模式是用於類上還是物件上劃分,那麼可以分為類模式和物件模式兩種。

我們平時說的比較多的是第一種分類,即根據設計模式的目的劃分為建立型模式、結構型模式和行為型模式三類。

建立型模式

簡介

建立型模式是處理物件建立的設計模式,它試圖根據實際情況使用合適的方式建立物件。基本的物件建立過程可能會導致設計上的問題,或增加設計的複雜度。建立型模式通過以某種方式控制物件的建立來減輕或解決這樣的問題。

它一般通過對物件的例項化過程進行抽象的方式,使得客戶端不需要關係你這些物件是怎麼建立、組合和呈現的。建立型模式也可以分為類模式和物件模式,類建立模式通過使用繼承改變例項化的類,物件建立模式通過使用**來例項化所需的物件。

包含的設計模式

主要包括五個設計模式:工廠方法模式、抽象工廠模式、單例模式、創造者模式、原型模式。

結構型模式

簡介

結構性設計模式的目的是,關注如何將現有類或物件組織在一起形成更加強大的結構。它一般通過繼承或成員變數引用來實現目的。

結構性模式根據作用範圍來分類可以分為類結構型模式和物件結構型模式。

類結構模式關心類的組合,由多個類可以組合成乙個更大的系統,在類結構模型中一般只存在繼承關係和實現關係;物件結構模式關心類與物件的組合,通過關聯關係使得在乙個類中定義另乙個類的例項物件,然後通過物件呼叫其方法。

包含的設計模式

主要包含七種設計模式:介面卡模式、裝飾著模式、**模式、外觀模式、橋接模式、組合模式、享元模式。

行為型模式

簡介

行為型模式的目的是描述程式在執行時複雜的流程控制,即描述多個類或物件之間怎樣相互協作共同完成單個物件都無法單獨完成的任務。它涉及演算法與物件間職責的分配。

行為型模式也可以根據作用範圍分類為類行為型模式和物件行為型模式。

類行為型模式採用繼承機制來在類間分派行為,物件行為型模式採用組合或聚合在物件間分配行為。由於組合關係或聚合關係比繼承關係耦合度低,滿足「合成復用原則」,所以物件行為模式比類行為模式具有更大的靈活性。

包含的設計模式

第2頁

非同步程式設計設計模式

非同步操作通常用於執行完成時間可能較長的任務,如開啟大檔案 連線遠端計算機或查詢資料庫。非同步操作在主應用程式執行緒以外的執行緒中執行。應用程式呼叫方法非同步執行某個操作時,應用程式可在非同步方法執行其任務時繼續執行。net framework 為非同步操作提供兩種設計模式 iasyncresult...

物件導向程式設計與 設計模式

物件導向程式設計 oop 中最重要的是物件導向設計 ood 單獨設計乙個類並不難,難的是設計很多類並使用這些類及它們的例項構成複雜的應用程式來滿足業務需求。當使用物件導向的思想對需求進行分析 ooa物件導向分析 逐步構成設計成果時,如何確定類的範圍,如何解決類與類,包括他們的例項之間的各種關係必須需...

python 物件導向程式設計設計與開發

1 對不同型別的任務,所採取不同的解決問題的思路。2 程式設計正規化有兩種 1 面向過程程式設計 2 物件導向程式設計 什麼是面向過程程式設計?過程 解決問題的步驟 要解決乙個大的問題 1 先把大問題拆分成若干小問題或子過程。2 然後子過程再拆分成小問題或子過程 3 直到小問題可以在乙個小步驟的範圍...