原创 MEDIATOR 模式

Mediator(調停人) 模式也是用來把某種策略施加到另一組對象上,不同與Facade 模式的是,它採用隱蔽的方式去施加策略。外部在感受到這個變化的同時,覺察不到實現上的修改。Mediator 對用戶是隱藏的。 比如實現文本輸入高亮顯示

原创 Wix使用整理(二)

  1)         Language與Codepage的設 Language指所在地區使用的語言,爲數字編號。Codepage指所在地區的代碼頁,用來進行區域區分。下來列舉幾個常見的區域代號:語言                  

原创 SINGLETON 模式和MONOSTATE 模式

Singleton 和 Monostate 都是用來實現單例模式的,但二者實現機制上有所不同。 Singleton 模式使用私有構造函數,一個靜態變量以及一個靜態方法對實例化進行控制和限制;而Monostate 則是簡單的把對象的所有變量

原创 TEMPLATE METHOD 模式

Template Method 模式使用繼承,來分離通用的算法和具體的上下文。 簡單的講,我有一個冒泡排序的程序,用來對int 型數據排序,要想對double 類型的數據排序,可能又得重新編寫一個排序程序。Template Method

原创 NULL OBJECT 模式

Null Object 模式的使用比較特別,主要用來實現程序的穩定性和統一化。 一下代碼很常見:public void do(Object obj){      if(obj == null){            ....//code

原创 FACADE 模式

Facade (正面)模式,用於爲一組負責的功能接口,提供一個簡單而且特定的接口。 比如Java.sql 提供了許多操作數據庫的接口,功能衆多,現在有一個BookData 對象,需要與數據庫進行交互,根據FACADE 模式,設計出一個DB

原创 COMMAND 模式

Command 模式大概是最簡單的設計模式了,說其簡單是因爲它形式上看起來非常簡單,該模式僅由一個具有唯一功能特性的方法組成。 public inerface Command{        public void do(); }   C

原创 STRATEGY 模式

Strategy 模式實現與Template Method 模式類似的功能,實現通用算法與具體實現的分離。不同點在於,它使用另外一種方式解除了通用算法與具體實現的依賴性。 再來看BubbleSorter 基類。將抽象方法提取出來,定義到一

原创 Wix使用整理(三)

  1)         安裝卸載時進行日誌記錄 Wix製作的Installer的調試很麻煩,沒有直接的Bug工具,可以通過記錄安裝日誌的方式進行間接調試。命令爲msiexec /i package.msi /l log.txt詳細參考:

原创 Wix使用整理(四)

  1)         安裝時用戶權限的判斷 使用MSI程序進行安裝時,一般要進行用戶權限的判斷,可以使用內置的屬性Privileged進行判斷,也可以通過設置Package的相關屬性進行判斷。 Privileged屬性       <

原创 ConnectionLayer 與 PrimaryLayer

   接觸GEF也有半年多了    還有一些概念始終不大清楚       內置的RootEditPart中的ConnectionLayer 和 PrimaryLayer, 能不能調換個位置顯示呢? 點贊 收藏 分

原创 Wix 使用總結(續)--關於Feature和Component的狀態判斷安裝過程

  安裝過程中,有時候需要根據用戶的設置來進行不同的安裝,其中一個方面就是根據用戶選擇安裝的Feature或者Component,來判斷下一步的操作。    Wix中提供了相關的判斷方法和內置的狀態值。    Prepending som

原创 設計模式

    最近看了Uncle Bob 的大作,《敏捷軟件開發》,受益頗深,尤其是裏面講述的設計模式,感覺很不錯,這裏且記錄下來,慢慢積累。 點贊 收藏 分享 文章舉報 saleve

原创 幾個有用的blog (Wix相關)

1,Alex Shevchuk   http://blogs.technet.com/alexshev/archive/2008/08/23/from-msi-to-wix-part-4-features-and-components.a

原创 GEF Programmers' Guide 中文版(工具和繪圖板)

工具 (Tools) 和繪圖板 ( Palette ) GEF 的工具處理幾乎可以所有的事件,在 GEF 中, EditDomain 用來記錄當前有效地工具。 應用程序可能會選擇使用繪圖板 (PaletteView