橋接模式:一種結(jié)構(gòu)型設(shè)計模式 應用場景:一個對象由多部分屬性組成槐臀,而對象與屬性之間的關(guān)系渡八,有些為has a,有些為is a凛捏,為了更靈活也更合理地實現(xiàn)功能,應該根據(jù)對象的組成關(guān)...

橋接模式:一種結(jié)構(gòu)型設(shè)計模式 應用場景:一個對象由多部分屬性組成槐臀,而對象與屬性之間的關(guān)系渡八,有些為has a,有些為is a凛捏,為了更靈活也更合理地實現(xiàn)功能,應該根據(jù)對象的組成關(guān)...
組合模式:一種結(jié)構(gòu)型設(shè)計模式 應用場景:對象需要組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)時稽犁。舉例:一家公司的OA系統(tǒng)(Office Automation, 自動化辦公)淡喜,...
裝飾模式:一種結(jié)構(gòu)型設(shè)計模式 應用場景:想要動態(tài)的給一個對象添加功能,即希望可以根據(jù)需求對現(xiàn)有對象添加不同的功能锈颗,以及不同功能的相互組合顷霹。如果通過繼承實現(xiàn)功能增加,則為了各功...
第一章.讓自己習慣C++ 條款2.盡量以const, enum, inline 替換 #defineA.以 const 替換 #define:原因1. #define 在預處...
第一章.容器 條款1.慎重選擇容器類型 標準STL序列容器:vector击吱、string淋淀、deque和list標準STL關(guān)聯(lián)容器:set、map覆醇、multiset和multim...
適配器模式:一種結(jié)構(gòu)型設(shè)計模式 應用場景:類A中想要寫一個很復雜的新方法朵纷,但是該方法已經(jīng)在類B中實現(xiàn)過了,如果重復寫一次永脓,代碼量會增加很多而且代碼可讀性會降低舉例:我國的市電...
原型模式:一種創(chuàng)建型設(shè)計模式 應用場景:一個基類袍辞,有很多派生類,在實際開發(fā)中常摧,經(jīng)常會使用一個基類指針搅吁,將其指向不同派生類的實例,以實現(xiàn)多態(tài)落午。之后經(jīng)過很長的業(yè)務操作之后谎懦,需要一...
建造者模式:一種創(chuàng)建型設(shè)計模式 應用場景:某類對象的構(gòu)建過程由多步組成,各步執(zhí)行細節(jié)一直變化溃斋,但是所有步驟間的組合關(guān)系不變界拦。舉例:要畫一個圖形,分為畫形狀和填色兩步梗劫,這兩步固...
單例模式:一種創(chuàng)建型設(shè)計模式 應用場景:日志系統(tǒng) 享甸。一個項目中應該只有一個日志系統(tǒng)截碴,則應當確保日志對象只能被創(chuàng)建一份。全局數(shù)據(jù)存儲枪萄。C++中應盡量避免全局變量的使用隐岛。可以通過...
抽象工廠模式:一種創(chuàng)建型設(shè)計模式 應用場景:在工廠方法模式[http://www.reibang.com/p/2337a66f1e70]之上瓷翻,考慮到每一種產(chǎn)品就要有一個工廠...
簡單工廠模式:一種創(chuàng)建型設(shè)計模式 應用場景:通過一個對象(工廠)聚凹,創(chuàng)建很多其他對象(產(chǎn)品)。 實現(xiàn)方式:所有產(chǎn)品類都繼承自同一抽象類齐帚,工廠生產(chǎn)產(chǎn)品時妒牙,需要告知要制作的產(chǎn)品類型...
工廠方法模式:一種創(chuàng)建型設(shè)計模式 應用場景:簡單工廠模式[http://www.reibang.com/p/22c8b8fba476]之上,考慮到工廠如果新加產(chǎn)品对妄,需要修改...