設計模式小結

2021-07-02 17:57:14 字數 817 閱讀 5471

q:一定要設計模式嗎?

a:設計是為了封閉變化,若是個專案確定以後不需要擴充套件,那麼隨便怎麼幹都行。

若不是這樣,至少保證當前專案中會擴充套件的地方進行設計

q:簡單的例子

a:mvc是最簡單的例子。把它發揚光大就不錯了。通常的做法是一定要把v分開,mc視情況而定。比如今天我們使用gui作為渲染,下乙個版本可能使用hge,cocos2d,u3d等等,最大程度的保留原來功能的做法是把mvc精心的加以區別。

q:最困難的地方是什麼

a:對專案的需求認識不足是最困難的地方。專案一開始不一定會設計得很完善,但是可以重構,通過重構來一步步的達成目標,任何專案都是這樣迴圈的,若是沒有這樣的過程了,則此軟體的生命週期也應該結束或是趨於真正的穩定了。

q:使用使用設計模式以後的壞處是什麼

a:壞處是原來可以直接搞定的事情需要轉個彎了,會增加呼叫和**。而且降低一定的效率。(不難理解:因為增加了呼叫的**,會多一層呼叫開銷)。但是當有一天你發現這樣做是完全物超所值的時候一定會有驚喜。壞處舉例:

// 無模式的**

if(loginok)

// 有模式的**

if

(loginok)

區別在於乙個直接呼叫ui進行顯示,另乙個呼叫乙個叫做face的中間類

這個face裡面再實現ui的操作。

當我們只需要命令列的時候face介面可以僅僅輸出。

當我們需要介面的時候face中可以實現介面輸出。

建議:當我們需要公共模組的時候,儘管使用設計模式,它會讓你事半功倍。

設計模式小結

1 建立性模式 建立物件 1 工廠方法模式 根據輸入的產品類別不同,工廠產生不同的產品。main函式基本不變,擴充套件不同的產品。2 建造者模式 相同的構建過程 director 不同的表示 builder 只需要擴充套件表示即可。例如汽車組裝過程一樣 director 但各個部件不一樣 build...

設計模式小結

結構型行為型 include using namespace std class csingleton protected csingleton 過載賦值建構函式,但貌似是沒必要的,因為物件無法在外部先被建立 csingleton operator const csingleton other st...

設計模式小結

經過這段時間學習的設計模式,心中也算有了大概的感念 需要時常溫習 在學習的時候不是按照設計模式的分類一步步學的,我學的過程很佛性,點到 看 1 建立型模式 5種 工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。2 結構型模式 7種 介面卡模式,裝飾器模式,模式,外觀模式,橋接模式,組合模...