設計習語,設計模式,架構模式
模式從目的上分類:
建立型模式 : 工廠模式 、抽象工廠模式 、單例模式 、建造者模式 、原型模式
結構型模式: 介面卡模式 、橋接模式 、過濾器模式 、組合模式 、裝飾器模式 、外觀模式 、享元模式 、**模式
行為型模式: 責任鏈模式 、命令模式 、直譯器模式 、迭代器模式 、中介者模式 、備忘錄模 、觀察者模式 、狀態模式 、空物件模式 、策略模式 、模板模式 、訪問者模式
模式從範圍上分類:
類模式,處理類與子類的靜態關係
物件模式,處理物件間的動態關係
模式從封裝變化角度分類:
元件協作:模板方法、策略模式、觀察者(事件)模式
單一職責:裝飾模式、橋模式
物件建立:工廠方法、抽象工廠、原型模式、構建器
物件效能:單例模式、輕量級模式、享元模式
介面隔離:門面模式、**模式、中介者、介面卡
狀態變化:備忘錄模式、狀態模式
資料結構:組合模式、迭代器、職責鏈
行為變化:命令模式、訪問器
領域問題:解析器
重構關鍵技法:
靜態 》 動態
早繫結 》 晚繫結
繼承 》 組合
編譯時依賴 》 執行時依賴
緊耦合 》 松耦合
設計原則:
依賴倒置原則(dip)
高層模組不應依賴低層模組(即低層程式不需要在高層秩序之前被編譯出來,否則就是產生了高層對低層的依賴),二者共同依賴於抽象
抽象不應依賴於實現細節(即不要依賴那些非常容易產生變化的**,要將容易變的**抽象出不容易變的那部分來,而細節就是容易產生變化的地方;實際上不論抽象還是不抽象都不要依賴那些容易變的**),實現細節應依賴於抽象
開放封閉原則(ocp)
對擴充套件開放,對更改封閉
類模組應該是可擴充套件的,但是不可修改
單一職責原則(srp)
乙個類應該只有乙個引起它變化的原因
變化的方向隱含著類的責任
liskov替換原則(lsp)
子類必須能夠替換他們的基類
繼承表達型別抽象
介面隔離原則(isp)
不應該強迫客戶程式依賴他們不用的方法
介面應該小而完備
優先使用物件組合,而不是類繼承
類繼承通常為白箱復用,物件組合通常為黑箱復用
繼承在某種程度上破壞了封裝性,子類父類耦合度高
而物件組合只要求被組合的物件具有良好定義的介面,耦合度低
封裝變化點
使用封裝來建立物件之間的分界層,讓設計者可以只在分界的一邊進行修改,而不會對另一邊產生不良的影響
針對介面程式設計,而不是針對實現程式設計
不將變數型別生命為某個特定的具體類,而是生命為某個介面
客戶程式無需獲知物件的具體型別,只需要知道物件所擁有的介面
減少系統中各部分的依賴關係,從而實現高內聚低耦合的型別設計方案
PCB設計基本概念
pcb設計基本概念 1 過孔 via 各層需要連通的導線的文匯處鑽上乙個公共孔,為連通各層之間的線路。這就是過孔。工藝上在過孔的孔壁圓柱面上用化學沉積的方法鍍上一層金屬,用以連通中間各層需要連通的銅箔,而過孔的上下兩面做成普 通的焊盤形狀,可直接與上下兩面的線路相通,也可不連。一般而言,設計線路時對...
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
單例模式的基本概念
摘抄菜鳥教程 單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中,應用該模式的類乙個類只有乙個例項。即乙個類只有乙個物件例項 注意 1.單例類只能有乙個例項 2.單例類必須自己建立自己的唯一例項 3.單例類必須給所有其他物件氣功這一例項 優點...