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

橋接模式:一種結(jié)構(gòu)型設(shè)計(jì)模式 應(yīng)用場景:一個(gè)對象由多部分屬性組成,而對象與屬性之間的關(guān)系,有些為has a,有些為is a,為了更靈活也更合理地實(shí)現(xiàn)功能尼变,應(yīng)該根據(jù)對象的組成關(guān)...
組合模式:一種結(jié)構(gòu)型設(shè)計(jì)模式 應(yīng)用場景:對象需要組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)時(shí)但骨。舉例:一家公司的OA系統(tǒng)(Office Automation, 自動化辦公)恋技,...
裝飾模式:一種結(jié)構(gòu)型設(shè)計(jì)模式 應(yīng)用場景:想要動態(tài)的給一個(gè)對象添加功能乡洼,即希望可以根據(jù)需求對現(xiàn)有對象添加不同的功能,以及不同功能的相互組合匕坯。如果通過繼承實(shí)現(xiàn)功能增加束昵,則為了各功...
第一章.讓自己習(xí)慣C++ 條款2.盡量以const, enum, inline 替換 #defineA.以 const 替換 #define:原因1. #define 在預(yù)處...
第一章.容器 條款1.慎重選擇容器類型 標(biāo)準(zhǔn)STL序列容器:vector、string葛峻、deque和list標(biāo)準(zhǔn)STL關(guān)聯(lián)容器:set锹雏、map、multiset和multim...
適配器模式:一種結(jié)構(gòu)型設(shè)計(jì)模式 應(yīng)用場景:類A中想要寫一個(gè)很復(fù)雜的新方法术奖,但是該方法已經(jīng)在類B中實(shí)現(xiàn)過了礁遵,如果重復(fù)寫一次,代碼量會增加很多而且代碼可讀性會降低舉例:我國的市電...
原型模式:一種創(chuàng)建型設(shè)計(jì)模式 應(yīng)用場景:一個(gè)基類采记,有很多派生類佣耐,在實(shí)際開發(fā)中,經(jīng)常會使用一個(gè)基類指針唧龄,將其指向不同派生類的實(shí)例兼砖,以實(shí)現(xiàn)多態(tài)。之后經(jīng)過很長的業(yè)務(wù)操作之后既棺,需要一...
建造者模式:一種創(chuàng)建型設(shè)計(jì)模式 應(yīng)用場景:某類對象的構(gòu)建過程由多步組成讽挟,各步執(zhí)行細(xì)節(jié)一直變化,但是所有步驟間的組合關(guān)系不變丸冕。舉例:要畫一個(gè)圖形耽梅,分為畫形狀和填色兩步,這兩步固...
單例模式:一種創(chuàng)建型設(shè)計(jì)模式 應(yīng)用場景:日志系統(tǒng) 胖烛。一個(gè)項(xiàng)目中應(yīng)該只有一個(gè)日志系統(tǒng)眼姐,則應(yīng)當(dāng)確保日志對象只能被創(chuàng)建一份。全局?jǐn)?shù)據(jù)存儲洪己。C++中應(yīng)盡量避免全局變量的使用妥凳。可以通過...