2008年3月15日 星期六

M09 設計的製程(2)──Class遵循生成與消滅的Interface

在我的設計裡定義了一個BasicObjectInterface的介面,系統裡的每一個Interface都必須繼承到,這也表示每一個Class都必須要實作到裡面的規管。裡面只規定了管理物件生成與管理物件消滅的兩個Method:
public void initialObject();
public void disposeObject();

我的目的是在佈置實作Interface的Class同時約定這兩個方法的執行內容,以保證每個物件在生成與消滅的時間點都必定會呼叫到繼承關係的Method,而且限制只呼叫一次,同時依使用時的關係與責任來消滅由自己建立的其他物件。下面是基本型態的Class佈置與initialObject()、dispostObject()的結構圖。

從最偷懶的一個Interface對應一個Class實作擴張為最基本要五個Interface、四個Abstract Class與一個Class,我相信任誰都不想多花精力去鋪陳這種設計,不過只宣告Class的空殼其實很快,尤其在放置Method的時候設計的想法與堆在一個Class是差不了多少。但是在這裡多花的一點時間,卻有機會換得彈性強、易說明、少side effect的系統,這是我在多花時間佈置後所樂意見到的。

沒有留言:

張貼留言