昨晚在家看了一集《武林外傳》,說的是白展堂給捕快小六教武功,就教了扎馬步,郭芙蓉給莫小貝教武功,就教了個轉圈圈(什么什么八卦掌)。結果莫小貝和小六比武,小六始終扎著馬步,莫小貝就在他旁邊轉圈圈,硬是把兩個人累趴下了。
雖然挺可笑,但也反映了一個問題。行為應該取決于目的,雖然那些招式號稱武功,但不能制敵,不如上去捶他一頓。而我們做技術設計的,最容易犯這個毛病了,剛剛學了個新方法,新技巧,新模式,就急不可耐的用了。就像上學時剛學了個公式,做作業時就拼命用,也不管是不是應該用。
我以為,其實面向對象設計的威力之所在,是設計的原語更接近現實世界,有些書中提到“隱喻”,其實就是讓我們把設計放到生活中來,找到類似的例子,再反饋到設計中去,如此反復,以完善我們的設計。而這其中,恐怕最重要的要素就是對象的職責和彼此協作機制。
崔剛 2007-11-23