原创 大話設計模式C++實現-第15章-抽象工廠模式

一、UML圖 二、概念 抽象方法模式(Abstract Factory):提供一個創建一系列相關或互相依賴對象的接口,而無需指定他們具體的類。 三、包含的角色 (1)抽象工廠 (2)具體工廠:包括具體工廠1和具體工廠2。具體工廠1用於

原创 大話設計模式C++實現-第21章-單例模式

一、UML圖 二、概念 單例模式:保證一個類僅有一個實例,並提供一個訪問他的全局訪問點。[DP] 通常我們可以讓一個全局變量使得一個對象被訪問,但它不能防止你實例化多個對象。一個最好的辦法就是,讓類自身負責保護它的唯一實例。這個類可以

原创 《親愛的界面》之菲茨定律

一、定義 菲茨定律:(在桌面系統中)用戶能夠快速點擊那些較大或者比較接近於鼠標指針的目標。此類目標可能是用戶想要鼠標點擊的屏幕上顯示的圖標,或者是用戶想要敲擊的觸摸屏上的按鈕。 二、ID計算公式 ID,Index of Difficult

原创 大話設計模式C++實現-第16章-狀態模式

一、UML圖 二、概念 狀態模式(State):當一個對象的內在狀態改變時允許改變其行爲,這個對象看起來像是改變了其類。 三、說明 下面是來自書本和網絡的對狀態模式的定義和分析: (1)狀態模式允許對象在內部狀態改變時改變它的行

原创 vs2010縮小MFC工程大小的方法

MFC工程文件編譯運行之後的工程大小往往都是100M兆以上,下面介紹一下vs2010中縮小MFC工程大小的方法。 工程文件縮小前的大小:120M。 方法分爲三步: (1)清理解決方案:在vs2010菜單欄點擊“生成”----->“清理解決

原创 大話設計模式C++實現-第7章-代理模式

一、UML圖 二、概念 代理模式:爲其他對象提供一種代理以控制對這個對象的訪問。 三、應用場景 (1)遠程代理,也就是爲一個對象在不同的地址空間提供局部代表。這樣可以隱藏一個對象存在於不同地址空間的事實。 (2)虛擬代理,是根據需要

原创 大話設計模式C++實現-第12章-外觀模式

一、UML圖 關鍵詞:增加Facade層。 二、概念 外觀模式:爲子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。 三、說明 Q:外觀模式在什麼時候使用呢? A:分爲三個階段: (

原创 C++中父類的虛函數必須要實現嗎?

一、情景 C++中父類的虛函數必須要實現嗎? class Vir{ public: virtual void tryVirtual(); }; class CVir:public Vir{ public: void tryVirtu

原创 malloc內存分配

網上總結到的信息: (1) 靜態分派:是在棧上分配,是由用戶自己申請,是由操作系統自己釋放的   動態分配:是由編譯器分配,操作系統沒有提供這種機制,所以自己申請,必須自己刪除! (2)你也要明白,棧的容量非常的小,而且特別貴,不能滿足所

原创 《親愛的界面》閱讀筆記之一

1.不要打擾用戶 (1)如果能幫助用戶做決定,就不要打擾用戶。 (2)如果不得不讓用戶自己做決定,就讓用戶一次性把所有決定都做完,避免讓用戶中途停下來做決定。 (3)只在做出緊急決定是纔打擾用戶。 2.爲用戶提供撤銷功能 (1)在用戶做出

原创 C++中兩個類互相引用的解決方法

一、問題描述 現在有兩個類A和B需要定義,定義A的時候需要用到B,定義B的時候需要用到A。 二、分析 A和B的定義和調用都放在一個文件中肯定是不可以的,這樣就會造成兩個循環調用的死循環。 根本原因是:定義A的時候,A的裏面有B,所以就需要

原创 大話設計模式C++實現-第1章-簡單工廠模式

一、UML圖 二、包含的角色 簡單工廠模式包含三個角色: (1)工廠類Factory:工廠類是用來製造產品的。因此,在Factory中有一個用於製造產品的Create函數或者Generate函數之類的函數。這個函數能夠根據“標識符”的

原创 大話設計模式C++實現-第3.4.5.11.22.23章-設計原則

一、單一職責原則(Chapter3) (1)就一個類而言,應該僅有一個引起它變化的原因。 (2)如果一個類承擔的職責過多,就等於把這些職責耦合在了一起,一個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當

原创 大話設計模式C++實現-第8章-工廠方法模式

一、UML圖 二、概念 工廠方法模式(Factory Method):定義一個用於創建對象的接口,讓子類決定實例化哪一個類。工廠方法是一個類的實例化延遲到其子類。 三、包含的角色 (1)抽象工廠 (2)具體工廠 (3)抽象產品 (4)

原创 大話設計模式C++實現-第10章-模板方法模式

一、UML圖 關鍵詞:骨架。 二、概念 模板方法模式:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。 三、說明 角色: (1)AbstractClass