大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

面向對象設計原則

開閉原則

在軟件開發中,為了提高軟件系統的可維護性和可復用性,增加軟件的可擴展性和靈活性,程序員要盡量根據 7 條原則來開發程序,從而提高軟件開發效率、節約軟件開發成本和維護成本。我們將在下面的幾節中依次來介紹這 7 條原則,本節首先介紹開閉原則。

開閉原則的定義

開閉原則(Open Closed Principle,OCP)由勃蘭特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向對象軟件構造》(Object Oriented Software Construction)中提出:軟件實體應當對擴展開放,對修改關閉(Software entities should be open for extension,but closed for modification),這就是開閉原則的經典定義。

這里的軟件實體包括以下幾個部分:

• 項目中劃分出的模塊

• 類與接口

• 方法

開閉原則的含義是:當應用的需求改變時,在不修改軟件實體的源代碼或者二進制代碼的前提下,可以擴展模塊的功能,使其滿足新的需求。

開閉原則的作用

開閉原則是面向對象程序設計的終極目標,它使軟件實體擁有一定的適應性和靈活性的同時具備穩定性和延續性。具體來說,其作用如下。

1、對軟件測試的影響

軟件遵守開閉原則的話,軟件測試時只需要對擴展的代碼進行測試就可以了,因為原有的測試代碼仍然能夠正常運行。

2、可以提高代碼的可復用性

粒度越小,被復用的可能性就越大;在面向對象的程序設計中,根據原子和抽象編程可以提高代碼的可復用性。

3、可以提高軟件的可維護性

遵守開閉原則的軟件,其穩定性高和延續性強,從而易于擴展和維護。

開閉原則的實現方法

可以通過“抽象約束、封裝變化”來實現開閉原則,即通過接口或者抽象類為軟件實體定義一個相對穩定的抽象層,而將相同的可變因素封裝在相同的具體實現類中。

因為抽象靈活性好,適應性廣,只要抽象的合理,可以基本保持軟件架構的穩定。而軟件中易變的細節可以從抽象派生來的實現類來進行擴展,當軟件需要發生變化時,只需要根據需求重新派生一個實現類來擴展就可以了。

下面以 Windows 的桌面主題為例介紹開閉原則的應用。

【例1】Windows 的桌面主題設計。

分析:Windows 的主題是桌面背景圖片、窗口顏色和聲音等元素的組合。用戶可以根據自己的喜愛更換自己的桌面主題,也可以從網上下載新的主題。這些主題有共同的特點,可以為其定義一個抽象類(Abstract Subject),而每個具體的主題(Specific Subject)是其子類。用戶窗體可以根據需要選擇或者增加新的主題,而不需要修改原代碼,所以它是滿足開閉原則的,其類圖如圖 1 所示。

圖1 Windows的桌面主題類圖

全部教程
主站蜘蛛池模板: 亚洲精品久久中文字幕 | 欧美特黄a级高清免费大片 欧美特黄a级猛片a级 | 成人a视频在线观看 | 天海翼一区二区三区免费 | 久久一区二区免费播放 | 伊人伊狠亚洲综合影院 | 国产成人啪精品视频免费网 | 五月综合激情视频在线观看 | 国产综合亚洲精品一区 | 日韩精品久久久久久 | 天天干精品 | 婷婷综合国产激情在线 | 日韩欧一级毛片在线播无遮挡 | 日本一区二区三区四区在线观看 | 午夜免费播放观看在线视频 | 国产福利午夜自产拍视频在线 | 天天做天天爽爽快快 | 欧美夜夜片a | 欧美日韩中文在线观看 | 香蕉超级碰碰碰97视频蜜芽 | 国内精品视频免费观看 | 欧美在线一区二区 | 日韩欧美高清一区 | 国产精品久久久尹人香蕉 | 黄色在线免费 | 在线观看视频一区 | 久久精品国产69国产精品亚洲 | 国产精品久久久久久亚洲伦理 | 国产高清在线精品一区a | 福利视频午夜 | 鲁一鲁射一射 | 亚洲精品久久久久综合91 | 天海翼一区二区三区免费 | 四虎影音在线观看 | 最新香蕉97超级碰碰碰碰碰久 | 九九99香蕉在线视频网站 | 成人综合久久综合 | 国产一久久香蕉国产线看观看 | 四虎精品免费永久在线 | 国产香港特级一级毛片 | 欧美乱妇高清无乱码视频在线 |