大战熟女丰满人妻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的桌面主題類圖

全部教程
主站蜘蛛池模板: 不卡在线观看 | 中文在线播放 | 精品欧美一区二区在线观看 | 久草国产精品 | 久草香蕉在线视频 | 奇米中文字幕 | 国产亚洲精品在天天在线麻豆 | 四虎comwww最新地址 | 欧美日在线 | 四虎国产精品一区二区 | 日本一级大毛片a一 | 国产玖玖视频 | 麻豆国内精品久久久久久 | 亚洲精品久久玖玖玖玖 | 天天操综 | 狠狠狠很橹影院 | 国产一级特黄一级毛片 | 久久国产精品永久免费网站 | 日本大黄视频 | 亚洲日本人成网站在线观看 | 国产四虎免费精品视频 | 日韩在线一区二区三区视频 | 好色亚洲 | 老年人一级特黄aa大片 | 伦理片爱久久 | 亚洲精品国产第一区第二区国 | 精品亚洲成a人7777在线观看 | 国产亚洲精品在天天在线麻豆 | 国产精品19p | 激情免费网站 | 国产成人精品曰本亚洲77美色 | 国产高清精品一区 | 四虎永久在线观看 | 日韩精品高清自在线 | 伊人久久亚洲综合天堂 | 国产伦久视频免费观看 视频 | 五月婷婷综合激情网 | 国产日产欧美精品一区二区三区 | 日本人wwwxxⅹ免费视频 | 毛片免费观看日本中文 | 国产中文久久精品 |