C 設計模式

2021-07-08 20:46:32 字數 1602 閱讀 1453

c++

設計模式

課程目標

->

理解松耦合設計思想 -

>

掌握物件導向設計原則 -

>

掌握重構技法改善設計 -

>

掌握gof

核心設計模式

什麼事設計模式

「每乙個模式描述了乙個在我們周圍不斷重**生的問題以及該問題的解決方案的核心。這樣,你就能一次又一次的

使用該方案而不必做重複勞動」。

gof設計模式

歷史性著作《設計模式:可復用(目標

)物件導向軟體(手法

)的基礎》一書中描述了

23種經典物件導向設計模式,創立了模式在軟體設計

中的地位。

由於《設計模式》一書中確定了設計模式的地位,通常所說的設計模式隱含地表示「物件導向設計模式」。但這並不

意味「設計模式」就等於「物件導向設計模式」。

從物件導向談起

底層思維(機器

)-----

程式設計師----

抽象思維

底層思維

(和計算機溝通

):向下,如何把握機器底層從微觀理解物件構造 -

>

語言構造 -

>

編譯轉換 -

>

記憶體模型 -

>

執行時機制

抽象思維

:向上,如何將我們的周圍世界抽象為程式** -

>

物件導向 -

>

元件封裝 -

>

設計模式 -

>

架構模式

深入理解物件導向

->

向下:深入理解三大物件導向機制

->

封裝,隱藏內部實現 -

>

繼承,復用現有**

->

多型,改寫物件行為

->

向上:深刻把握物件導向機制所帶來的抽象意義,理解如何使用這些機制

來表達現實世界,掌握什麼是「好的物件導向設計」。

軟體設計固有的複雜性

建築商從來不會去想給一棟已建好的

100層高的樓房底下再新修乙個小地下室

---這樣

做化肥極大而且注定要失敗。然後令人驚奇的是,軟體系統的使用者在要求作出類似

改變時卻不會仔細考慮,而且他們認為這只是需要簡單程式設計的事。

-----------

軟體設計複雜的根本原因

變化客戶需求的變化

技術平台的變化

開發團隊的變化

市場環境的變化

。。。。。。

如何解決複雜性?

->分解

->

人們面對複雜性有乙個常見的做法:即分而治之,將大問題分解

為多個小問題,將複雜問題分解為多個簡單問題。

->抽象

->

更高層次來講,人們處理複雜性有乙個通用的技術,即抽象。

由於不能掌握全部的複雜物件,我們選擇忽略它的非本質細節而去

處理泛化和理想化了的物件模型。

軟體設計的目標

什麼是好的軟體設計?軟體設計的金科玉律:

復用!

C設計模式,C 設計模式解說文件

個人引用了知乎上面一位的回答 遂感覺暫時沒有接觸設計模式的必要,於是將手頭上的資源寫成部落格權當收藏 學習設計模式的乙個弊端是 我們學習的時候看到的只是結果,並不了解過程和動機,也就是其他人在什麼樣的情況下做出這樣的設計,而這個恰恰是各種教程 資料上學習不到的。我自己在經歷了2年的應用設計模式的摸索...

C 設計模式

c 設計模式大體上講分為三類,即 建立模式,結構模式和行為模式 建立模式 單例模式 工廠模式 抽象工廠模式 生成器模式 原型模式。結構模式 介面卡模式 橋接模式 組成模式 裝飾模式 外觀模式 享元模式 模式。行為模式 中介者模式 命令模式 備忘錄模式 狀態模式 策略模式 直譯器模式 迭代器模式 觀察...

c 設計模式

設計模式c 描述之 簡單工廠模式 設計模式c 描述 抽象工廠模式 設計模式c 描述 抽象工廠模式 閱讀此文應先閱讀簡單工廠模式與工廠方法模式 抽象工廠模式是物件的建立模式,它是工廠方法模式的進一步推廣。假設乙個子系統需要一些產品物件,而這些產品又屬於乙個以上的產品等級結構。那麼為了將消費這些產品物件...