2008年5月2日 星期五

O12 動態的應用(2)──Method

另一個動態的應用是Method,是根據取得的字串對應指定的Class呼叫特定的Method。應用這個功能我們可以把想要執行的動作放到外部的字串裡。這樣的好處是可以把注意力放在提供執行方法的Class,而不用跟著變動執行呼叫的部份。

最常運用的是Data的setter與getter,根據屬性名稱組成存取屬性的方法並自動呼叫;雖然在提供存取的Class裡必須提供所有的getter與setter的方法,但是在呼叫的那一端就可以使用簡潔的程式碼來應付所有的Data存取。

除了資料的動態存取,利用Method的映射還可以作出執行的流程。讓執行的順序與內容定義在外部檔,用一個元件負責流程的處理,依照順序執行對應的動作(當然,動作要集中在一個Class或一個Class僅負責一個動作都可以),使用這種方法可以把變化的部分抽取到文字檔案的定義而不需要改動程式。

對系統而言,只要更動程式的任何一行都必須重新測試所有的影響部分,即使某些流程的改動很單純,但仍然需要完整的測試,一些要求更為嚴謹的客戶甚至會詢問改變的原因與影響。使用外部定義可以避免這個問題,這是因為定義的意義都已經定義為對應的方法,改變只限於傳入的屬性。

沒有留言:

張貼留言