模式設計的基本概念

2021-10-19 13:11:21 字數 1444 閱讀 4195

設計習語,設計模式,架構模式

模式從目的上分類:

建立型模式 : 工廠模式 、抽象工廠模式 、單例模式 、建造者模式 、原型模式

結構型模式: 介面卡模式 、橋接模式 、過濾器模式 、組合模式 、裝飾器模式 、外觀模式 、享元模式 、**模式

行為型模式: 責任鏈模式 、命令模式 、直譯器模式 、迭代器模式 、中介者模式 、備忘錄模 、觀察者模式 、狀態模式 、空物件模式 、策略模式 、模板模式 、訪問者模式

模式從範圍上分類:

類模式,處理類與子類的靜態關係

物件模式,處理物件間的動態關係

模式從封裝變化角度分類:

元件協作:模板方法、策略模式、觀察者(事件)模式

單一職責:裝飾模式、橋模式

物件建立:工廠方法、抽象工廠、原型模式、構建器

物件效能:單例模式、輕量級模式、享元模式

介面隔離:門面模式、**模式、中介者、介面卡

狀態變化:備忘錄模式、狀態模式

資料結構:組合模式、迭代器、職責鏈

行為變化:命令模式、訪問器

領域問題:解析器

重構關鍵技法:

靜態 》 動態

早繫結  》 晚繫結

繼承 》 組合

編譯時依賴 》 執行時依賴

緊耦合 》 松耦合

設計原則:

依賴倒置原則(dip)

高層模組不應依賴低層模組(即低層程式不需要在高層秩序之前被編譯出來,否則就是產生了高層對低層的依賴),二者共同依賴於抽象

抽象不應依賴於實現細節(即不要依賴那些非常容易產生變化的**,要將容易變的**抽象出不容易變的那部分來,而細節就是容易產生變化的地方;實際上不論抽象還是不抽象都不要依賴那些容易變的**),實現細節應依賴於抽象

開放封閉原則(ocp)

對擴充套件開放,對更改封閉

類模組應該是可擴充套件的,但是不可修改

單一職責原則(srp)

乙個類應該只有乙個引起它變化的原因

變化的方向隱含著類的責任

liskov替換原則(lsp)

子類必須能夠替換他們的基類

繼承表達型別抽象

介面隔離原則(isp)

不應該強迫客戶程式依賴他們不用的方法

介面應該小而完備

優先使用物件組合,而不是類繼承

類繼承通常為白箱復用,物件組合通常為黑箱復用

繼承在某種程度上破壞了封裝性,子類父類耦合度高

而物件組合只要求被組合的物件具有良好定義的介面,耦合度低

封裝變化點

使用封裝來建立物件之間的分界層,讓設計者可以只在分界的一邊進行修改,而不會對另一邊產生不良的影響

針對介面程式設計,而不是針對實現程式設計

不將變數型別生命為某個特定的具體類,而是生命為某個介面

客戶程式無需獲知物件的具體型別,只需要知道物件所擁有的介面

減少系統中各部分的依賴關係,從而實現高內聚低耦合的型別設計方案

PCB設計基本概念

pcb設計基本概念 1 過孔 via 各層需要連通的導線的文匯處鑽上乙個公共孔,為連通各層之間的線路。這就是過孔。工藝上在過孔的孔壁圓柱面上用化學沉積的方法鍍上一層金屬,用以連通中間各層需要連通的銅箔,而過孔的上下兩面做成普 通的焊盤形狀,可直接與上下兩面的線路相通,也可不連。一般而言,設計線路時對...

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

單例模式的基本概念

摘抄菜鳥教程 單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中,應用該模式的類乙個類只有乙個例項。即乙個類只有乙個物件例項 注意 1.單例類只能有乙個例項 2.單例類必須自己建立自己的唯一例項 3.單例類必須給所有其他物件氣功這一例項 優點...