軟體的設計要考慮很多因素,可維護性是很重要的,一般軟體都有乙個生命週期。軟體的特點就是應變性比較差,很多設計模式就是為系統帶來了更好的可維護性。
oo設計中有乙個很有名的open/close原則,這個名字取的比較怪和費解,實際上它的意思是擴充套件軟體功能的時候不修改和影響已有的功能。軟體忌諱的是像全域性變數那樣牽一髮而動全身的東西。
最近,松耦合空間的溫先生提出了良性依賴原則(認為應該避免容易變化的東西。這個自然不錯,不過我覺得軟體最忌諱的不是變化,而是擴散性的變化,也就是重構一書裡說的散彈式攻擊。具體的對策就是封裝變化,減小變化的部分對系統的衝擊。
所以乙個好的可維護性設計就是有預見地封裝了變化的設計。像防火牆一樣擋住變化之火。
怎樣才算是好的軟體可維護性設計?
軟體的設計要考慮很多因素,可維護性是很重要的,一般軟體都有乙個生命週期。軟體的特點就是應變性比較差,很多設計模式就是為系統帶來了更好的可維護性。oo設計中有乙個很有名的open close原則,這個名字取的比較怪和費解,實際上它的意思是擴充套件軟體功能的時候不修改和影響已有的功能。軟體忌諱的是像全域...
軟體的可維護性和可復用性
軟體的復用 reuse 或重用擁有眾多優點,如可以提高軟體的開發效率,提高軟體質量,節約開發成本,恰當的復用還可以改善系統的可維護性。物件導向設計復用的目標在於實現支援可維護性的復用。在物件導向的設計裡面,可維護性復用都是以物件導向設計原則為基礎的,這些設計原則首先都是復用的原則,遵循這些設計原則可...
第3章 軟體的可維護性與可復用性 筆記
b 設計的目標 b 乙個好的系統應該有如下性質 可擴充套件性 extensibility 靈活性 flexibility 可插入性 pluggability b 設計原則有哪些 b 1 開 閉 原則 open closed principle,ocp 2 黎克特制代換原則 liskov substi...