2008年3月30日 星期日

M24 系統軟體架構的層次(5)──瞭解本質後定義自己的設計準則

如果曾經接手過別人寫的程式,大多數的情況裡都會覺得很難看懂,這是因為風格的不同所造成。由於軟體結構切割觀念、類別封裝設計原則、執行方法層次認知與使用資料建立擁有的差異,使得我們不容易理解別人的想法。

這段日子公司正在推行CMMI制度,可是CMMI對於設計僅僅規範了 SA/SD應該有哪些描述用的文件,卻沒有規範設計產出的風格;在這個情況下無論文件作得再多,也難以讓別人知道系統內部的設計。所以有機會跟主管聊天時,我都會強調先規劃好使用的設計方法論以及設計模型風格的重要性;唯有全公司的人都有類似的設計想法,才能夠快速地接手其他人的設計產出!

我強調的是Package、Class與Method的設計都遵守一對一的對應,根據相同應用所使用的資源都要抽取到固定的地方。“分層對應,動靜分離;絕對重用,靈活替換”這十六個字所表示的四個原則,濃縮了我這兩年接觸OOAD後最終的心得。

看過的設計文章都是以Class為基本單位來闡述,但是在瞭解本質後發現Method才是系統功能的主角;至今為止,覺得自己想出來的設計概念與別人大不相同。未來如果有機會在別人的系統裡看到與自己想法相近的設計,應該可以合理懷疑是受到我部落格文章的影響吧?

沒有留言:

張貼留言