設計模式開篇

2021-06-26 17:20:16 字數 1198 閱讀 6418

1、什麼是設計模式?

設計模式是一套被反覆使用、多人知曉、分類編目、**設計經驗的總結。使用設計模式是為了可重用**,保證**的可靠性,使**編制真正的工程化,能夠適應需求的變化。

實現**功能的復用:

(1)繼承機制(uml中體現為泛化);

(2)組合(聚合),也可以是導航;

(3)多型,父類型別可以執行任何子類物件;

(4)類是對物件的抽象,抽象類是對類的抽象,介面是對行為的抽象。

2、物件導向原則

(1)單一職責原則

在定義乙個類的時候,不能把各樣格式的功能**,如:某種運算的演算法、資料庫訪問的sql語句等,都寫在同乙個類中,如果這樣做,各個功能模組**耦合度太高。最好的選擇是乙個類值實現乙個單一的功能。

(2)開放-封閉原則

在做任何系統的時候,都不能指望系統一開始就需求確定而再也不會改變,這時一種不顯示,也不科學的想法。需求是會變化的,那麼如何在面對需求變化的時候,設計的軟體可以相對容易修改?怎樣的設計才能面對需求的改變卻可以保持相對穩定?從而使系統可以在第乙個版本以後不斷退出新的版本,遵守「開放-封閉原則」。

(3)依賴倒置原則

依賴倒置原則,就是要依賴與抽象,不要依賴於具體。簡單的說就是要求對抽象進行程式設計,不要對實現進行程式設計。這樣就降低了客戶與實現模組的耦合。如:以計算機為例,主機板、cup、記憶體、硬板都是針對介面進行設計的。     

(4)黎克特制替換原則

定義:子型別必須更能夠替換它們的父型別。

如果乙個軟體中使用的是乙個父類,那麼一定適用於其子類。軟體中察覺不出父類物件和子類物件的區別。即在軟體裡,把父類都替換成它的子類,程式的行為沒有發生變化。

(5)迪公尺特法則

定義:如果兩個類不必彼此直接通訊,那麼著兩個類就不能發生直接的相互作用。如果乙個類需要呼叫另乙個類的某乙個方法,可以通過第三者**這個呼叫。

在類的結構設計中,每乙個類都應該盡量降低成員的訪問許可權,即乙個類包封裝好自己的private狀態,不需要讓別的類知道字段或者行為就不要公開。

迪公尺特法則強調類之間的松耦合。耦合度越低,越有利於復用,乙個處在若耦合的類被修改,不會對有關係的類在成影響。

設計模式開篇

a 物件導向的五大基本原則 object oriented design 1.單一職責原則 single responsibility principle 每乙個類應該只專注於做一件事。乙個類應該僅有乙個引起它變化的原因 最簡單,最容易理解卻最不容易做到的乙個設計原則 職員類例子 比如在職員類裡,將...

設計模式 開篇

什麼是設計模式?一說起設計模式,可能很多人都覺得很高大上的感覺,事實上,設計模式只是針對某一類問題的最佳解決方案而已,設計模式是由許多優秀的軟體系統中總結出來的可成功復用的設計方案。我們常說的23種設計模式來自 設計模式 一書,也就是我們常說的gof。模式分類 1.建立型模式 建立型模式涉及物件的例...

設計模式開篇

提到設計模式,我們會經常這樣聽說 我也看過很多的設計模式,但在實際的專案中從來沒有用過 這的確是我以及很多人遇到的情況,那些設計模式都能看懂,但就是在專案用不到,總感覺紙上談兵,落實不到我們具體的專案上。我的個人觀點 1 對設計模式的理解還不夠深入 首先我們要對設計模式所要解決的問題要理解透徹,即什...