Translate

ebook【Delphi跨平台資料庫程式設計火速上手】電子書出版 (CHT)

Delphi 跨平台資料庫程式設計火速上手,是本關於整合 Delphi 的跨平台技術打造 2-Tier 架構的跨平台 APP 的入門技術書。 全書沒有需要理解的技術知識,只講套路。 力求短時間把製作 APP 的工法熟悉,未來要開發其它的應用程式也能舉一反三。 底下...

2014/09/01

淺談策略模式[Strategy Pattern] - 使用 Delphi + Interface



Delphi 這麼久,Class 一直都是我愛用的關鍵字之一。
在看了 Code in Delphi 之後,還是不了解為什麼要使用 Interface

於是又看了下 Head First Design Patterns (深入淺出設計模式) 的第一章。

按照我現在只會的物件導向概念,在鴨子類別及實體的設計,大概會長成這樣:


於是,如果有 100 種鴨子物種,我就必須 override Display, Fly, Quack 這三個函式。

這實在很蠢!

那麼,撇開 Display 這個非重寫不可的因子,將 Fly, Quack 獨立開來設計如何呢?

Quack 為例,大概會長成這樣:

嗯……如果有 1000 種叫聲,還是要實作 1000 種叫聲的類別,使用 Interface 好處在哪呢?

我想應該是在最終設計上可以不用實做全部的個別行為函式吧。

實作成品如下圖:

範例程式:下載

沒有留言:

張貼留言