今天又看了閻宏的《軟件的架構(gòu)與設(shè)計模式之層次原則》,結(jié)合自己在項目中的架構(gòu)設(shè)計經(jīng)驗來,整理感悟如下:
1、Bulit for Change,好的建筑都是為變化而設(shè)計的。
我想,文中說這句話的意思是想說,好的軟件架構(gòu)設(shè)計也是為變化而設(shè)計的。用戶的需求日新月異,千變?nèi)f化,大的項目一般都會有第一期、第二期、第三期……。怎樣才能讓自己的架構(gòu)設(shè)計能滿足不斷變化的用戶需求呢?“為變化而設(shè)計”,應(yīng)該是解決這個問題的戰(zhàn)略方針。
怎樣才能像貫穿三個代表一樣來實現(xiàn)這個“為變化而設(shè)計”這個戰(zhàn)略級方針呢?----分層。分層就是我們實現(xiàn)戰(zhàn)略目標(biāo)的戰(zhàn)術(shù)、戰(zhàn)斗方法。而怎樣來實施分層呢?
2、分層的方法和步驟。
a、首先要確定軟件的生命周期。我們應(yīng)該避免為一個五分鐘的問題提供一個五十年的解決方案,也不要為一個50年的問題提桶一個5分鐘的解決方案。我們在實際開發(fā)過程中發(fā)現(xiàn),每個項目都有它的生命周期,有一年的,兩年的,五年的,十年的,也有一天的,甚至5分鐘的。我們應(yīng)該根據(jù)軟件的生命周期來設(shè)計。
b、確認(rèn)軟件中變和不變的因素,并根據(jù)變化頻度進(jìn)行分類。
c、依據(jù)變化頻度的分類進(jìn)行層次劃分,并標(biāo)出各個層次的依賴關(guān)系。
d、對不變的部分,設(shè)計的穩(wěn)固、牢靠。對變化的部分,根據(jù)變化的頻度設(shè)計的其靈活性。
posted on 2005-08-03 11:06
coffee 閱讀(3035)
評論(1) 編輯 收藏 所屬分類:
技術(shù)隨筆