2008年3月26日 星期三

M20 設計的製程(4)──設計Method使用的Data

Data是Method在進行時所需要的輸入或輸出資訊,就像是我們在做事時分解出來的工作項目有其需要的資源般,在程式裡時常需要將這些資訊的處理結果保存下來供之後的方法使用。

在Method裡即用即丟的Data稱之為Local Variable,它們的存在只是Method裡暫時宣告出來放置短暫的階段性資料;只要是每次進入時都能夠由其它Data演算出來的,都會以這個形式宣告。(Local Variable可以視為reture value傳回)

處理結果的資訊如果必須保存下來提供給下一次呼叫Interface Method參考的話,就應該把它宣告在Abstract Class或Class裡,根據不同的方法劇本來存取它的內容。在我的設計裡,Class Attribute通常都會宣告為protected以便在繼承它的Class裡直接取用。如果允許外部取用該Class Attribute的話,一定要另外再宣告getter與setter。同時Class必須在initialObject()與disposeObject()裡管理所有Class Attribute的生成與消滅。

Package層級也有放置階段性資訊的地方,此時佈置的是稱為Data Model的Class;再往上一層,系統會有在執行時放置相關資訊的地方,通常也會定義一個程作Context的Package作為系統資訊存放用。如何取得Data Model或是Context就要視系統如何設計,不過在系統限制只能有一份Data Model或Context的時候,可以使用Singleton Design Pattern來放置。

沒有留言:

張貼留言