2009年2月22日 星期日

T21 簡單型的Component

簡單型的Component類似於Deploy過的Component,與Component最大的差異是Inplementation、Flow、Action與Properties都放在同一組Class裡。這裡的設計思維與一般的Class可說完全相同,不過我仍會堅持使用Interface-Abstract Class-Class的設計以避免reuse後重覆程式碼的問題。

在這種作法下,Flow與Action的設計準則還是要遵循,副流程與分解動作還是要另外獨立為一個Method。不過此時產生一個問題:遇到一個內部方法時怎麼知道其意義是Flow還是Action?(從名稱不見得看得出來)而這種定義上的不一致,將會連帶造成分析程式碼工具分析錯誤的結果,加上元件結構有所變化而必須改寫元件的分析工具。

會納入元件庫的Component一定要使用標準的結構,這樣才能符合所有的標準而有一致化的運作與產出。雖然簡單型Component可以運用一些規範的要求來達到同樣的效果,但是額外的要求都會更造成開發人員的負擔,需要另外注意與檢查的工作會變得更多。反之若為了方便而減少了那些額外要求,那麼每個人又會再用自己的想法來解讀那些模糊地帶,又會發生產出時所有可能發生的問題。


在系統架構的概念圖裡,我認為ViewListener與所有的Service都可以使用簡單型Component來加速開發的速度。其原因為:這幾個部分常常根據客戶的需求不同而難以重用、ViewListener的意義僅是介接View與後面的處理邏輯、Service使用的資料與參數都由外部傳入使得它僅是處理邏輯。對於這些偏重於部分特性的元件,使用簡易型Component應已足夠。

沒有留言:

張貼留言