2014/09/10

淺談協調者模式[Mediator Pattern] - 使用 Delphi + Interface

在「深入淺出-設計模式」一書中談到「居間協調者模式」時,把它歸類在不受設計人歡迎的模式中(請參閱:14 附錄:剩下的模式-居間協調者模式)。

只是,它有提到在 MVC 中經常會使用這個模式來設計。看了下它的介紹,就真的是簡短到一個極致。

接著便拿起「參悟物件設計模式 - 使用 Delphi」一書,翻到了「協調者模式」一節。

……還是有點難理解,按本人羸弱的思考能力是這樣解讀的:

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 時會有相容性問題)


2014/08/22

FireMonkey 核心 -- LiveBinding

LiveBinding 幾乎完美發揮泛型的優點。
不須再使用 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:

[上課心得]執行力提升的四個技巧

  1. 鎖定至關重要的目標 (聚焦少數,達成更多﹔設定終點線)
  2. 從領先目標 (短期目標) 下手
  3. 設置醒目計分板
  4. 落實當責 (檢討領先指標)

2014/08/03

再戰 FireMonkey

先記錄一下未來的幾個課題:


TBindingsList :記錄該 Form 下所有的 BindingExpr

TDataSource :在 FireMonkey 還是有很大的用途 -- 和 TBindSourceDB 綁定

所有的元件都可以和 TBindSourceDB 做雙向綁定

TListBox, TListView 兩個好像的元件……
TListBox: 概念比較像一本帶有活動內頁的雜誌。
TListView: 如果 TListBox 是一本帶有內頁的雜誌,那 TListView 就是只具有多樣化封面的單一頁面元件。

但 TListView 和 TListBox 是兩個獨立的元件。

TListView 實際應用上可參考:FireMonkey中TabControl的滑动效果