国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 課堂 > 技術開發 > 正文

面向對象的設計原則之類設計原則

2023-06-18 12:51:34
字體:
來源:轉載
供稿:網友

在面向對象設計中,如何通過很小的設計改變就可以應對設計需求的變化,這是令設計者極為關注的問題。為此不少OO先驅提出了很多有關面向對象的設計原則用于指導OO的設計和開發。下面是幾條與類設計相關的設計原則。

(1)開閉原則(the Open Closed Principle OCP)

一個模塊在擴展性方面應該是開放的而在更改性方面應該是封閉的。因此在進行面向對象設計時要盡量考慮接口封裝機制、抽象機制和多態技術。該原則同樣適合于非面向對象設計的方法,是軟件工程 設計方法的重要原則之一。

我們以收音機的例子為例,講述面向對象的開閉原則。我們收聽節目時需要打開收音機電源,對準電臺頻率和進行音量調節。但是對于不同的收音機,實現這三個步驟的細節往往有所不同。比如自動收縮電臺的收音機和按鈕式收縮在操作細節上并不相同。因此,我們不太可能針對每種不同類型的收音機通過一個收音機類來實現(通過重載)這些不同的操作方式。但是我們可以定義一個收音機接口,提供開機、關機、增加頻率、降低頻率、增加音量、降低音量六個抽象方法。不同的收音機繼承并實現這六個抽象方法。這樣新增收音機類型不會影響其它原有的收音機類型,收音機類型擴展極為方便。此外,已存在的收音機類型在修改其操作方法時也不會影響到其它類型的收音機。

下面圖1是一個應用OCP生成的收音機類圖的例子:


圖1 OCP應用(收音機)

(2)替換原則 (the Liskov Substitution Principle LSP)

子類應當可以替換父類并出現在父類能夠出現的任何地方。這個原則是Liskov于1987年提出的設計原則。它同樣可以從Bertrand Meyer 的DBC (Design by Contract) 的概念推出。

我們以學生為例,夜校生為學生的子類,因此在任何學生可以出現的地方,夜校生均可出現。這個例子有些牽強,一個能夠反映這個原則的例子時圓和橢圓,圓是橢圓的一個特殊子類。因此任何出現橢圓的地方,圓均可以出現。但反過來就可能行不通。

Liskov的相關圖示如下圖2所示:


圖2 Liskov 原則

運用替換原則時,我們盡量把類B設計為抽象類或者接口,讓C類繼承類B(接口B)并實現操作A和操作B,運行時,類C實例替換B,這樣我們即可進行新類的擴展(繼承類B或接口B),同時無須對類A進行修改。

(3)依賴原則 (the Dependency Inversion Principle DIP)

在進行業務設計時,與特定業務有關的依賴關系應該盡量依賴接口和抽象類,而不是依賴于具體類。具體類只負責相關業務的實現,修改具體類不影響與特定業務有關的依賴關系。

在結構化設計中,我們可以看到底層的模塊是對高層抽象模塊的實現(高層抽象模塊通過調用底層模塊),這說明,抽象的模塊要依賴具體實現相關的模塊,底層模塊的具體實現發生變動時將會嚴重影響高層抽象的模塊,顯然這是結構化方法的一個"硬傷"。

面向對象方法的依賴關系剛好相反,具體實現類依賴于抽象類和接口(見圖-3)。

為此,我們在進行業務設計時,應盡量在接口或抽象類中定義業務方法的原型,并通過具體的實現類(子類)來實現該業務方法,業務方法內容的修改將不會影響到運行時業務方法的調用。


圖3依賴原則圖示

(4)接口分離原則(the Interface Segregation Principle ISP)

采用多個與特定客戶類有關的接口比采用一個通用的涵蓋多個業務方法的接口要好。

ISP原則是另外一個支持諸如COM等組件化的使能技術。缺少ISP,組件、類的可用性和移植性將大打折扣。

這個原則的本質相當簡單。如果你擁有一個針對多個客戶的類,為每一個客戶創建特定業務接口,然后使該客戶類繼承多個特定業務接口將比直接加載客戶所需所有方法有效。

圖4展示了一個擁有多個客戶的類。它通過一個巨大的接口來服務所有的客戶。只要針對客戶A的方法發生改變,客戶B和客戶C就會受到影響。因此可能需要進行重新編譯和發布。這是一種不幸的做法。


圖4 帶有集成接口的服務類

我們再看圖-5中所展示的技術。每個特定客戶所需的方法被置于特定的接口中,這些接口被Service類所繼承并實現。


圖5 使用接口分離的服務類設計

如果針對客戶A的方法發生改變,客戶B和客戶C并不會受到任何影響,也不需要進行再次編譯和重新發布。

以上四個原則是面向對象中常常用到的原則。此外,除上述四原則外,還有一些常用的經驗諸如類結構層次以三到四層為宜、類的職責明確化(一個類對應一個具體職責)等可供我們在進行面向對象設計參考。

但就上面的幾個原則看來,我們看到這些類在幾何分布上呈現樹型拓撲的關系,這是一種良好、開放式的線性關系、具有較低的設計復雜度。一般說來,在軟件設計中我們應當盡量避免出現帶有閉包、循環的設計關系,它們反映的是較大的耦合度和設計復雜化。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
最新黄网在线观看| av在线播放网| 国产免费麻豆视频| 久久精品最新免费国产成人| 美女国产在线| 国产精品视频二区三区| 国产高清av| 日韩不卡高清| 蜜桃av网站| 国产三级在线免费观看| 伊人中文在线| 日本中文字幕在线2020| 国产不卡视频| 九九在线视频| 亚洲精品自产拍在线观看| √天堂资源地址在线官网| 亚洲人在线播放| 国产视频精选在线| 美女网站在线观看| 91社区在线观看| 天堂在线一二区| 秋霞av在线| 在线一区观看| 国产精品偷乱一区二区三区| av手机天堂| 91涩漫在线观看c| 中文字幕不卡免费视频| 久热中文字幕在线观看| 在线āv视频| 91久久精品国产性色| 国产午夜视频| 国产日产一区二区| 国产一卡2卡3卡四卡网站| 欧美另类在线视频| 亚洲成人av在线影院| 99福利在线| 99热国产在线| 精品国产免费观看一区| 国产一级视频| 国产一二区在线观看| 最近中文字幕mv2018在线高清| 九九热免费视频| 国产剧情av在线| 国产一级性片| 国产99re| 在线视频二区| 天天插天天干| 欧美日韩国产亚洲沙发| 久热av在线| 精品资源在线看| 国产午夜电影| 国产成人高清精品| 在线观看免费观看在线91| 91亚洲欧美| www操操操| 国内精品一区视频| 国产丝袜自拍| 伊人国产在线看一| 欧美亚洲另类在线观看| 丁香视频免费观看| 91啦中文在线| 免费一区二区在线观看| 国产小视频福利在线| 在线免费观看你懂的| 青青草原国产在线观看| 懂色av中文在线| 国产a国产a国产a| xxxx视频在线| 国产黄色片在线播放| 91精选福利| 国产主播福利在线| 一级二级三级在线观看| 国产男女av| 一本久久精品| 国产香蕉在线| 青青草视频在线免费观看| 国产偷倩在线播放| 热99re久久精品精品免费| 国产精品久久久久久精| 超碰国产在线| 人人在线视频| 99在线播放| 国产黄在线看| 国产乱码在线| www.操操操.com| 中文岛国精品亚洲一区| 中文字幕不卡| 国产一区二区三区四区尤物| 毛片视频免费观看| 俺来俺也去www色在线观看| 在线观看国产视频| 亚洲午夜久久久久中文字幕| 99在线视频观看| 国产aⅴ超薄肉色丝袜交足| 国产一区二区影视| 中文字幕久热在线精品| 好男人社区在线视频| 欧美96在线| 狠狠干天天爱| 国产字幕在线看| 成在在线免费视频| 午夜国产在线| 国产亚洲精品久久久久久青梅 | 国产视频二区三区| 高清av中文在线字幕观看1| 久艹在线视频| 国产免费av高清在线| 最近中文字幕大全中文字幕免费| 五月婷婷导航| 国产jizz| 免费视频二区| 国产在线麻豆精品| 日本中文字幕在线视频| 国产精品久久久久白浆| 在线色视频网| 国产免费视频| 精品国产高清自在线一区二区三区 | 四虎免费视频| 免费a级毛片在线播放| 国产在线视频网站| 国产午夜三区视频在线| 国产视频二区三区| 国产aa视频| 激情小说 在线视频| 国产一级片在线播放| 国产va在线| 狠狠综合久久久综合| 国产特级嫩嫩嫩bbb| 亚洲精品xxxxx| 中文字幕专区| 日本高清中文字幕在线| 国产日韩精品在线看| 亚洲第一区视频| 国产丝袜在线| 久久精品蜜桃| 18被视频免费观看视频| 国产主播福利在线| 国产夫妻视频| 国产一级免费看| 国产中文字幕在线| 天堂在线国产| 2021av天天| 国产天堂av| 最近中文字幕av免费高清| 日本不卡影院| 性网站在线观看| 中文天堂av| 在线中文资源天堂| 国产成人精品实拍在线| 国产视频二区| 国产一二区视频| 99视频免费在线观看| 在线黄色国产电影| 92久久精品| 91在线高清| 99re热在线观看| 777电影在线观看| 国产精美视频| 国产成在线观看免费视频| 国产黄色一级电影| 伊人222成人综合网| 在线成人综合色一区| 天天草天天草| 狠狠色综合久久婷婷| 最近中文字幕mv免费高清视频8| 超碰免费在线| 99热在线观看免费| 99热在线免费播放| 国产日韩欧美第一页| 国产馆av播放| a中文在线播放| 国产在线你懂得| 国产视频一二三区| 精品亚洲成a人片在线观看| 午夜羞羞小视频在线观看| 蜜桃av网站| 综合图区亚洲白拍在线| 精品176二区| 交换国产精品视频一区| 国产无遮挡又黄又爽免费软件 | 亚洲精品乱码电影在线观看| 在线国产三级| 国内a∨免费播放| 国产精品欧美韩国日本久久| 99爱视频在线观看| 欧美精品小视频| 国产精品第八页| www亚洲天堂| 国产精品视频一区麻豆| 伊人国产在线看一| 中文字幕免费在线视频| 精品999视频| 天堂资源中文在线| 在线中文字幕观看| 国产农村av| www操操操| 一区二区精品区| 国产一级性片| 九九在线免费视频| www.三区|