2008年4月10日 星期四

N10 置換整個Class與用參數涵蓋可能變化的比較

在軟體工廠的概念裡,所有的元件都像是積木有自己的規格,系統的開發在大部分的地方都是只選擇適合的積木堆成我們想要的模樣。在需求變更的情況下若有元件變得不適用,可以將之拔除再另外放一個更適合的進去。

以取出積木再另外放一個進去的想法,有可能會使得功能幾乎相同的元件有許多分身存在,這是因為製作元件的人不想分析比較彼此之間的差異,而直接把變化寫死在一個特定元件裡。如此一來每次的小變化都形成一個元件,時日一久自然就可以擁有“看起來很多元件”的元件庫。

玩過積木的人應該注意到,同樣有那種具有可動部分的積木,像是螺旋漿、門窗、旋轉軸之類的。這種積木只要撥動一下可動部分,就可以讓積木以不同的的方式呈現。如果今天的積木在開門、關門與半開關之間都要求使用者“置換”該積木的話,玩的人會不會覺得頭很痛呢?

直接把變化對應到不同的元件是最直覺的,開發者幾乎連想都不用想就可以由copy-paste或是繼承快速地做出一個新元件;去分析改變與影響並在同一個元件內去涵蓋相對地就得花上比較多的時間處理,但是對使用者而言卻有能應付多樣變化的單一元件。如果你是開發者,會決定怎麼做呢?

沒有留言:

張貼留言