在「深入淺出-設計模式」一書中談到「居間協調者模式」時,把它歸類在不受設計人歡迎的模式中(請參閱:14 附錄:剩下的模式-居間協調者模式)。
只是,它有提到在 MVC 中經常會使用這個模式來設計。看了下它的介紹,就真的是簡短到一個極致。
接著便拿起「參悟物件設計模式 - 使用 Delphi」一書,翻到了「協調者模式」一節。
……還是有點難理解,按本人羸弱的思考能力是這樣解讀的:
2014/09/10
2014/09/01
淺談策略模式[Strategy Pattern] - 使用 Delphi + Interface
用 Delphi 這麼久,Class 一直都是我愛用的關鍵字之一。
在看了 Code in Delphi
之後,還是不了解為什麼要使用 Interface。
於是又看了下 Head
First Design Patterns (深入淺出設計模式) 的第一章。
按照我現在只會的物件導向概念,在鴨子類別及實體的設計,大概會長成這樣:
2014/08/27
RAD Studio XE7 其它亮點
Pull to refresh in TListView.
OnGesture 和 OnTouch 事件終於切開了!再也不會誤觸 TEdit 而拉不動了!
TScaledLayout 上的元件會自動隨解析度調整大小。(不過裡面有 TWebControl 時會有相容性問題)
OnGesture 和 OnTouch 事件終於切開了!再也不會誤觸 TEdit 而拉不動了!
TScaledLayout 上的元件會自動隨解析度調整大小。(不過裡面有 TWebControl 時會有相容性問題)
2014/08/22
FireMonkey 核心 -- LiveBinding
LiveBinding 幾乎完美發揮泛型的優點。
不須再使用 IntToStr, FloatToStr 等轉換函式。
TBindingsList.Notify ← 配合已綁定 Class 事件呼叫時可用。
TBindExpression.Evaluate ← 應用上,只要記得 BindExpression 是讓哪個 Class 作動即可。
不須再使用 IntToStr, FloatToStr 等轉換函式。
TBindingsList.Notify ← 配合已綁定 Class 事件呼叫時可用。
TBindExpression.Evaluate ← 應用上,只要記得 BindExpression 是讓哪個 Class 作動即可。
2014/08/19
[筆記]RAD Studio XE6 的環境設定
Android:
Create a New Android SDK
RAD Studio 的編譯器會自動從 Android SDK 路徑找出機器對應的版本,只要確保相關版本有被下載下來即可。
ZipAlign.exe:
Create a New Android SDK
RAD Studio 的編譯器會自動從 Android SDK 路徑找出機器對應的版本,只要確保相關版本有被下載下來即可。
ZipAlign.exe:
2014/08/03
再戰 FireMonkey
先記錄一下未來的幾個課題:
TBindingsList :記錄該 Form 下所有的 BindingExpr
TDataSource :在 FireMonkey 還是有很大的用途 -- 和 TBindSourceDB 綁定
所有的元件都可以和 TBindSourceDB 做雙向綁定
TListBox, TListView 兩個好像的元件……
TListBox: 概念比較像一本帶有活動內頁的雜誌。
TListView: 如果 TListBox 是一本帶有內頁的雜誌,那 TListView 就是只具有多樣化封面的單一頁面元件。
但 TListView 和 TListBox 是兩個獨立的元件。
TListView 實際應用上可參考:FireMonkey中TabControl的滑动效果
TBindingsList :記錄該 Form 下所有的 BindingExpr
TDataSource :在 FireMonkey 還是有很大的用途 -- 和 TBindSourceDB 綁定
所有的元件都可以和 TBindSourceDB 做雙向綁定
TListBox, TListView 兩個好像的元件……
TListBox: 概念比較像一本帶有活動內頁的雜誌。
TListView: 如果 TListBox 是一本帶有內頁的雜誌,那 TListView 就是只具有多樣化封面的單一頁面元件。
但 TListView 和 TListBox 是兩個獨立的元件。
TListView 實際應用上可參考:FireMonkey中TabControl的滑动效果
訂閱:
文章 (Atom)