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