iT邦幫忙

DAY 22
2

UML學習過程分享-以EA為例系列 第 22

[Day 22]Strategy Pattern

這邊透過UML的Class Diagram介紹Strategy Pattern的概念,
以及目的和相關實作的方式。
如同之前文章所說,UML Diagram其實最主要也最廣泛被拿來溝通,
因為是模型語言,所以不會被實做的程式語言所侷限。
在描述比較抽象的概念時,UML因為是一種廣泛被使用的國際標準,
所以比較能被各個層級的相關人員(包括完全不懂電腦的User)所瞭解。

這邊要解釋的Design Pattern是Stragety Pattern,
我們先來看Class Diagram:

整個Stragety Pattern的重點,就在<<interface>>IStrategy這個class。
IStrategy裡面定義了相關的algorithm operation。
而Client的Class指的是系統內任何要使用algorithm的程式(或者稱物件更合適)。

所有要使用Strategy A或Strategy B的algorithm method,都需要透過<<interface>>IStrategy。
在系統架構裡面,只要決定以哪一個class去實作interface即可。

透過Dependency Injection相關的framework,就能實作系統演算法的切換。

實做的部分因為文章長度的限制,
請各位可以去參考小弟blog上的文章:
http://www.dotblogs.com.tw/hatelove/archive/2009/10/02/10894.aspx


上一篇
[Day 21]MDA中的PIM-1
下一篇
[Day 23]OCUP認證相關資訊
系列文
UML學習過程分享-以EA為例30

1 則留言

0
fillano
iT邦超人 1 級 ‧ 2009-10-22 23:04:19

圖好像沒出來?

就是91 iT邦研究生 4 級‧ 2009-10-23 00:42:42 檢舉

謝謝您的提醒,我剛剛請其他人看了一下才知道真的看不到圖
原本的網址我是看的到圖的....

我要留言

立即登入留言