2007年11月11日 星期日

G08 程式設計的能力(2)──能夠拆解物件

程式設計的另一個能力是物件組織能力。能夠準確無誤地從一堆雜亂的名詞挑出適合作為Class與應該是其對應屬性,並分析出所有Class之間的參照關係,是建立Data Model的重要基礎。這個能力其實不難培養,通常有兩個方向可以思考。

一種是觀察靜態物件的組成。生活裡有很多實際的物品,每件獨立的物品我們都可以仔細觀察它擁有了什麼特性:像是顏色、尺寸、形狀等靜態描述,或者是動力、移動方式、跳躍等動態描述,這些都屬於物品的特性。還有物品是否使用了其他的子物品?像是汽車裝的輪胎就可以視為子物品而存在,這樣擁有的關係也需要記錄在物件裡頭。

另一種是動態關係的組成。在拆解目的時我們會得到許多工作步驟,精確地把每一個工作步驟指派到應該執行它的靜態物件,就是最終的目標。要往這個方向邁進,我們必須清楚的知道每個靜態物件的責任,才能判斷出該由誰來負責。這同樣是日常生活與工作上時常會遇到的情境。

我們並不能保證每個人想的分類都會是正確的,因此需要review的機制來驗證每個人的想法並加以調整。

沒有留言:

張貼留言