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

全部教程
主站蜘蛛池模板: 国产香蕉98碰碰久久人人 | 精品中文字幕久久久久久 | 中文伊人| 久久天天躁狠狠躁夜夜爽蜜月 | 久久婷婷五综合一区二区 | 精品四虎免费观看国产高清午夜 | 国内精品伊人久久大香线焦 | 国产成人精品aaaa视频一区 | 天天干天天干天天天天天天爽 | 欧美日本一区二区 | 丰满寡妇一级毛片 | 91久久国产精品视频 | 97色偷偷9999www| 毛片在线观看网站 | 国产精自产拍久久久久久蜜 | 激情一区二区三区成人 | 色婷婷综合久久久中文字幕 | 国产一区二区亚洲精品 | 久操热 | 久久久免费观看视频 | 久久99精品久久久久久牛牛影视 | 真人午夜a一级毛片 | 亚洲精品乱码久久久久久中文字幕 | 亚州毛片| 国产欧美日韩精品高清二区综合区 | 亚洲免费一级视频 | 免费国产成人综合 | 欧美毛片在线播放观看 | 国产精品爱久久久久久久 | 愉拍精品视频在线观看 | 91精品国产色综合久久不 | 亚洲依人 | 欧美日韩成人午夜免费 | 日本一级毛片2021免费 | 国产一区二区三区久久精品小说 | 日本激情一区二区三区 | 日本在线一卡二卡毛片 | 一级特黄特黄的大片免费 | 久久噜噜噜 | 色爽女| jizzz亚洲美女 |