2007年11月17日 星期六

G14 元件切割大小的抉擇

元件在定義時就需要花上功夫。由上而下設計時,開出的方法包含的範圍是比較大的,屬於Controller裡的一個特定動作;但實作時我們會發現許多真正要實行的動作是更加細微的;這之間的落差該怎麼辦?

我們當然可以只用一個方法來含括符合Controller動作裡想要做的事,這樣一來在Controller上簡單易懂;只是在Component實作時會在裡面處理較多的邏輯與動作。元件寫得越大,內部邏輯包含得越多,也越加讓這個元件只能符合部分的需求。

為了讓元件符合重用並滿足更多樣化的需求,我們也可以讓元件控制的範圍最小化,如此一來就有機會任意組裝順序以滿足不同種類的動作需求。但是元件寫得越小,就得加寫上層的控制動作,使得Controller的管理變得煩瑣。

我的解決方案是使用複合型的元件。需要直接使用底層控制元件時,就用最小單位的Component;在較多邏輯的情況時,就在原先的元件外再多包裝一個大的元件,讓原來的元件只是大元件內部的Action,邏輯就集中在大元件的Component Controller來做。如此一來就能依想使用的範圍選擇適合的元件。

沒有留言:

張貼留言