2008年3月31日 星期一

M25 Package、Class、Method與Data的使用想法

系統的Use Case流程與Activity間的作法與Interface Method內的流程及動作間的作法是完全一樣的,重點都在於將需求定義出分解動作,然後另外使用流程串連起來以完成功能。把動作與流程分離,同時每個相同的動作都抽取到一個動作方法來呼叫是設計時的重點;另外考量的重點是動作方法放置的地方,要在同一個Class、同一個Package或是另外的Package需要考慮好。

當實作功能所有的過程都被拆解成Method後,應該要為每一個Method作定位。定義每個Method所處的Package、所處的Interface,思考時除了系統層面的Module定位(水平)之外,還要再考慮重用部分的定位(垂直),有的時候Method必須另外放置在特性描述的Interface。唯有把Method放置在多維空間的正確位置,才能在面對不同方向的切割時還可保有應有的功能。

Method裡使用的Data擺放也是需要定義的。在內部用完即丟的Local Variable、記錄Class狀態的Class Attribute、聚集成Package專用的Model Class或是定義在系統資訊區的Package,根據實際使用的狀況決定好放置的區域,才可以在適當的時候作正確的切割。(常數也是需要定義的Data)

reuse的想法除了把相同用途的Method或Data提取出來(同時要放置在應在的Package與層次)之外,也要包含在呼叫Interface Method時傳入參數就能變更內部處理流程的設計(需要定義更多類型的動作Method來支援);但是唯有盡量發揮這兩種設計特點,才能讓系統有更理想的最佳化。

沒有留言:

張貼留言