原创 設計模式對比之 簡單工廠方法模式vs策略模式

策略模式有一個context類,strategy類作爲context類的一個成員,context類是strategy類的使用環境,相當與strategy的封裝。   在工廠方法中,用於直接操作各個類,類比到策略模式中,相當與用戶直接操作s

原创 OpenGL Selection Using Unique Color IDs

Introduction There are a number of ways object selection can be performed. Using OpenGL you can use the special Selecti

原创 導出和加載DLL

DLL源代碼: extern "C" int WINAPI EXPORT LALALA(int m, int n, string s){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); AfxMe

原创 模板方法 AND 構建器

模板方法將各個子類的不同部分抽象到超類中,形成抽象方法,同時定義各個子類的公共部分,並實現之。子類只實現各自不同的部分。公共部分是對外接口,供外部調用,同時公共部分調用超類定義的抽象方法。使用時直接創建超類對象,並調用相應的公共操作,同時

原创 設計模式

1. 抽象工廠:一個抽向工廠類,定義了創建產品的抽象方法,若干具體工廠類,每個具體工廠實現創建某種產品的方法。A b s t r a c t F a

原创 工廠方法 AND 抽象工廠

工廠方法模式的核心是一個抽象工廠類,而簡單工廠模式把核心放到了一個具體類上.  簡單工廠是工廠方法模式的特例。  工廠方法模式和抽象工廠模式的最主要的區別在於對工廠的抽象程度上。  抽象工廠模式中一般是抽象出工廠接口,表示他就是一個工廠,

原创 Functional is better than function

,greater<double>::operator()是一個內聯函數,所以編譯器在實例化sort時內聯展開它。結果,sort沒有包含一次函數調用,而且編譯器可以對這個沒有調用操作的代碼進行其他情況下不經常進行的優化   。當我們試圖把一

原创 酷訊迷途反思:千萬美元3年未找到真實市場

      它只用了幾個月就獲得千萬美元風險投資,卻用三年時間也找不到軟着陸的真實市場。一個“熱錢時代”寵兒的淪落軌跡。   “現在,‘和稀泥’已經沒用了。”面對《環球企業家》,酷訊網CEO張海軍毫無掩飾之意,“我們前兩年解決了‘做正

原创 Objective-C Runtime Programming Guide 中文翻譯

介紹 Objective-C將許多決策從編譯時期和鏈接時期延後到運行時期。只要可能,它都動態的做很多事情。這意味着它不僅需要一個編譯器,還需要一個運行時系統來執行編譯好的代碼。對於Objective-C來說,這個運行時系統就好像一個操作系

原创 幾種在場景之間傳遞數據的方式

1. 對於modal類型的segue,直接使用presentingViewController和presentedViewController返回源控制器和目標控制器。 在目的控制器中,使用presentingViewController

原创 ARC實踐

一. 什麼是引用計數 Objective-C中對對象的內存管理可以用生成、持有、釋放、廢棄4個詞來表示,其中生成就是alloc/new/copy/mutableCopy等方法,持有對象 通過retain來實現,釋放對象是release操

原创 爲什麼在viewDidLoad中調用presentingViewController返回nil?

ios7應用開發入門經典(第7版)p256頁提到,對於modal類型的segue,可以通過presentingViewController和presentedViewController獲取segue前後的controller。 但在io

原创 Objective-C 類別小結

類別是一種爲現有的類添加新方法的方式。 利用Objective-C的動態運行時分配機制,可以爲現有的類添加新方法,這種爲現有的類添加新方法的方式稱爲類別catagory,他可以爲任何類添加新的方法,包括那些沒有源代碼的類。 類別可以將對象

原创 一個UI控件弱引用問題

今天學習的過程中看到如下代碼: @interface ViewController () @property (weak,nonatomic) UIButton *buttonA; @property (weak,nonatomic)

原创 svn衝突解決

 本人使用SVN的時間不是很長,在使用之前也僅僅是粗淺的瞭解過這個軟件。從今年的8月份開始,由於一個項目使用Eclipse 3.1,跨地域的開發,爲了適應不同的開發人員處於不同的地理位置,因此我們使用SVN作爲團隊開發的管理工具。開始使用