【設(shè)計模式】軟件開發(fā)原則-創(chuàng)新互聯(lián)

開閉原則(OCP)

定義:一個軟件實體應(yīng)當對擴展開放,對修改關(guān)閉。也就是說在設(shè)計一個模塊的時候,應(yīng)當使這個模塊可以在不被修改的前提下被擴展,即使現(xiàn)在不修改源代碼的情況下改變這個模塊的行為。

成都創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強的網(wǎng)絡(luò)競爭力!結(jié)合企業(yè)自身,進行網(wǎng)站設(shè)計及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到做網(wǎng)站、成都網(wǎng)站建設(shè), 我們的網(wǎng)頁設(shè)計師為您提供的解決方案。

意思:寫好一個代碼。后面需要添加功能的時候,不是在一個已經(jīng)寫好的代碼中修改,而是重新寫一個方法來添加而不必修改原來的功能。

總結(jié):面對需求,對程序的改動是通過增加新代碼進行的,而不是改變原來的代碼。

依賴倒轉(zhuǎn)原則(DIP)

定義:

  1. 高層模塊不應(yīng)該依賴低層模塊,它們都應(yīng)該依賴抽象。抽象不應(yīng)該依賴于細節(jié),細節(jié)應(yīng)該依賴于抽象。

  2. 要針對接口編程,不要針對實現(xiàn)編程。

  • 簡單來說,依賴倒轉(zhuǎn)原則:代碼要依賴于抽象的類,而不要依賴與具體的類;要針對接口或抽象類編程,而不是針對具體類編程

  • 實現(xiàn)開閉原則的關(guān)鍵是抽象化,并且從抽象化導(dǎo)出具體化實現(xiàn),如果說開閉原則是面向?qū)ο笤O(shè)計的目標的化,那么依賴倒轉(zhuǎn)原則就是面向?qū)ο笤O(shè)計的主要手段

  • 依賴倒轉(zhuǎn)原則的常見實現(xiàn)方式之一是在代碼中使用抽象類,而將具體類放在配置文件中。

里氏替換原則(LSP)

定義:在軟件中將一個基類對象替換成它的子類對象,程序?qū)⒉粫a(chǎn)生任何錯誤和異常,反過來則不成立,如果一個軟件實體使用的是一個子類對象的話,那么它不一定能夠使用基類對象。

例如:我喜歡動物,那我一定喜歡狗,因為狗是動物的子類;但是我喜歡狗,不能據(jù)此斷定我喜歡動物,因為我并不喜歡老鼠,雖然它也是動物。

里氏代換原則是實現(xiàn)開閉原則的重要方式之一,由于使用基類對象的地方都可以使用子類對象,因此在程序中盡量使用基類類型來對對象進行定義,而在運行時再確定其子類類型,用子類對象來替換父類對象。

單一職責(zé)原則(SRP)

定義:一個類只負責(zé)一個功能領(lǐng)域中的相應(yīng)職責(zé),或者可以定義為:就一個類而言,應(yīng)該只有一個引起它變化的

一個類(大到模塊,小到方法)承擔的職責(zé)越多,它被復(fù)用的可能性就越小,而且一個類承擔的職責(zé)過多,就相當于將這些職責(zé)耦合在一起,當其中一個職責(zé)變化時,可能會影響其他職責(zé)的運作。

因此要將這些職責(zé)進行分離,將不同的職責(zé)封裝在不同的類中,即將不同的變化原因封裝在不同的類中,如果多個職責(zé)總是同時發(fā)生改變則可將它們封裝在同一類中。

迪米特法則(LKP)

定義:一個軟件實體應(yīng)當盡可能少地與其他實體發(fā)生相互作用。

如果一個系統(tǒng)符合迪米特法則,那么當其中某一個模塊發(fā)生修改時,就會盡量少地影響其他模塊,擴展會相對容易,這是對軟件實體之間通信的限制,迪米特法則要求限制軟件實體之間通信的寬度和深度。迪米特法則可降低系統(tǒng)的耦合度,使類與類之間保持松散的耦合關(guān)系。

迪米特法則要求我們在設(shè)計系統(tǒng)時,應(yīng)該盡量減少對象之間的交互,如果兩個對象之間不必彼此直接通信,那么這兩個對象就不應(yīng)當發(fā)生任何直接的相互作用,如果其中的一個對象需要調(diào)用另一個對象的某一個方法的話,可以通過第三者轉(zhuǎn)發(fā)這個調(diào)用。簡言之,就是通過引入一個合理的第三者來降低現(xiàn)有對象之間的耦合度。

合成復(fù)用原則(CRP)

盡量使用對象組合,而不是繼承來達到復(fù)用的目的。

接口隔離原則(ISP) 定義:
  1. 客戶端不應(yīng)該依賴那些它不需要的接口。

  2. 一旦一個接口太大,則需要將它分割成一些更細小的接口,使用該接口的客戶端僅需知道與之相關(guān)的方法即可。

分析:
  1. 接口隔離原則是指使用多個專門的接口,而不使用單一的總接口。每一個接口應(yīng)該承擔一種相對獨立的角色,不多不少,不干不該干的事,該干的事都要干。

  2. 使用接口隔離原則拆分接口時,首先必須滿足單一職責(zé)原則,將一組相關(guān)的操作定義在一個接口中,且在滿足高內(nèi)聚的前提下,接口中的方法越少越好。

  3. 可以在進行系統(tǒng)設(shè)計時采用定制服務(wù)的方式,即為不同的客戶端提供寬窄不同的接口,只提供用戶需要的行為,而隱藏用戶不需要的行為。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當前標題:【設(shè)計模式】軟件開發(fā)原則-創(chuàng)新互聯(lián)
地址分享:http://www.muchs.cn/article32/ihcpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、品牌網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化、微信小程序、定制網(wǎng)站網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化