日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

接口隔离原则_设计模式之七大设计原则(上)

發(fā)布時間:2024/9/19 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口隔离原则_设计模式之七大设计原则(上) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這是雷總20多年前寫的匯編程序,像詩一樣優(yōu)雅

而中國詩詞講究平仄、押韻、對仗等一系列的規(guī)則原則,

那么想要寫出像詩一樣優(yōu)雅的程序你不得不知的?--?設計模式之七大原則:

1.開閉原則:對修改關閉,對擴展開放。

2.單一職責原則:每個類、方法只負責一個職責或功能。

3.接口隔離原則:接口設計要精簡單一。

4.里氏替換原則:子類可以擴展父類的功能,盡量不修改父類原有的功能。

5.依賴倒置原則:高層不依賴底層,兩者都該依賴接口。(面向接口編程)

6.迪米特法則:也稱最少知道原則;只和你的朋友說話,不與陌生人說話。

7.合成復用原則:盡量先使用組合或聚合實現(xiàn)關聯(lián)關系,其次在考慮使用繼承關系

開閉原則

一天小A開發(fā)了某項功能經(jīng)過測試并上線。但有一天這項功能需要進行升級,此時小A 已離職,接管小A 的小B 不是在小A的源碼上進行擴展,而是直接拿源碼進行修改,造成了測試需要重新測試原來已上線的功能。這樣不僅使生產(chǎn)效率降低,而且還降低了系統(tǒng)穩(wěn)定性;當軟件需要變化時,盡量通過擴展軟件來實現(xiàn)變化,而不是通過修改已有的代碼來實現(xiàn)變化。(祖?zhèn)鞔a不能動)

單一職責原則

5人組裝一臺電腦主機步驟一:將主板安裝到機箱上。步驟二:將CPU安裝到主板并加上CPU風扇。步驟三:將內存條、顯卡、硬盤安裝到主板上。步驟四:將電源安裝到機箱上并接入CPU、主板、顯卡。步驟五:電源線整理并封箱。前置條件:5人不會組裝電腦。崗前培訓:此時領導培訓該五位新人,講解如何完整的組裝一臺電腦,但5位新人并沒有完全吸收領導所講解的。

實操:5人單人作業(yè) pk 5人流水作業(yè)

5人單人作業(yè):每人負責完整的組裝步驟,由于缺少實操,在每個步驟上都卡殼,領導也只能給每一位新人逐步解答。

5人流水作業(yè):每人只負責一個步驟,即使5人不會完整的組裝電腦,但相對單人作業(yè)模式會減少許多問題。

把每人人比作類來看,即可得出?每個類、方法只負責一個職責或功能從而降低類或方法的復雜度。從而提高程序的可讀取性。

接口隔離原則

某筆記本電腦需要兩個type-c插槽,一個既能充電又能傳輸數(shù)據(jù),另一個僅數(shù)據(jù)傳輸;

此時定義一個type-c接口:

interface TypeC { ? ?//數(shù)據(jù)傳輸 ? ?public function data(); ? ?//充電 ? ?public function charge();}

具有實現(xiàn)類:

//typc1class?TypeC1?implements?TypeC{????public?function?data(){ ? ? ? echo "實現(xiàn)數(shù)據(jù)傳輸"; ? ?}????public?function?charge(){ ? ? ? ?echo "實現(xiàn)充電"; ? ?}}//typc2class?TypeC2?implements?TypeC{????public?function?data(){ ? ? ? echo "實現(xiàn)數(shù)據(jù)傳輸"; ? ?}????public?function?charge(){ ? ? ? throw new \Exception("我可能會爆炸"); ? ?}}

此時TypeC2并不需要實現(xiàn)充電接口。

將其修改之:

interface?Charge{ ? ?//充電 ? ?public function charge();}interface TypeC { ? ?//數(shù)據(jù)傳輸 ? ?public function data();}

具體實現(xiàn)類:

class?TypeC1?implements?TypeC,Charge{????public?function?data(){ ? ? ? ?echo "實現(xiàn)數(shù)據(jù)傳輸";????}????public?function?charge(){ ? ? ? ?echo "實現(xiàn)充電"; ? ?}}class?TypeC2?implements?TypeC{????public?function?data(){ ? ? ? ?echo "實現(xiàn)數(shù)據(jù)傳輸"; ? ?}}

充電接口單獨提取出來,需要實現(xiàn)充電接口的Type-c去實現(xiàn).其客戶端不應該依賴它不需要的接口,這就是接口隔離原則。


總結

以上是生活随笔為你收集整理的接口隔离原则_设计模式之七大设计原则(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。