什麼是設計模式?(入門)

2021-06-12 02:45:29 字數 2567 閱讀 6440

什麼是設計模式

?

就是軟體設計方法。在軟體設計中,不可避免的要遇到一些設計上的問題,比如,有很多**需要重複的寫,比如**維護比較困難,這個時候呢,某一些人,針對不同的問題總結了一套很好的方法能夠很好的解決相應的問題,這一系列的方法就是「模式」。

設計模式的作用?

設計模式是擁有多年開發設計經驗的人給我們的經驗傳承,它是作為專家的建議而引入的,它背後的真正威力是其對真實世界的抽象。

如果我們沒有足夠的經驗,我們很難做出好的設計,但是富有經驗的開發者和設計者以設計模式的形式將他們的經驗傳授給我們,擁有了這些經驗之後,我們也能做出好的設計來了。不僅如此,設計模式還提高了我們軟體復用的水平,從而提高了生產效率。

通過研究這些模式,學習者可以相互交流,可以在自己的實踐中舉一反三,推陳出新,加以應用。

設計模式的原則?

1.單一職責原則:

定義:就乙個類而言,應該僅有乙個引起他變化的原因。

也就是說,不要把變化原因各不相同的職責放在一起,因為不同的變化會影響到不相干的職責。再通俗一點地說就是,不該你管的事情你不要管,管好自己的事情就可以了。

2.開放-

封閉原則:

定義:是說軟體實體(類,模組,函式等)應該可以擴充套件,但是不可以修改。

兩個特性:對於擴充套件是開放的,對於更改是封閉的。

面對需求,對程式的改動是通過增加新**進行的,而不是更改現有的**。(此原則的精神所在)

開放-封閉原則是面對物件設計的核心所在。遵循這個原則可以帶來物件導向技術所聲稱的巨大好處,也就是可維護,可擴充套件,可復用,靈活性好。開發人員應該僅對程式中呈現出頻繁變化的那些部分做出抽象,然而,對於應用程式中的每個部分都刻意地進行抽象同樣不是乙個好主意。拒絕不成熟的抽象和抽象本身一樣重要。

3.依賴倒轉原則:

定義:抽象不應該依賴細節,細節應該依賴於抽象。

就是要針對介面程式設計,不要對實現程式設計。就是只有抽象的東西才是最穩定的,也就是說,我們依賴的是它的穩定。

4.黎克特制代換原則:

乙個軟體實體如果使用的是乙個父類的話,那麼一定適用於其子類,而且它察覺不出父類物件和子類物件的區別。也就是說,在軟體裡面,把父類都替換成它的子類,程式的行為沒有變化,簡單說,子型別必須能夠替換掉它們的父型別。

因為這個原則,使得繼承復用成為可能,只有當子類可以替換掉父類,軟體單位的功能不受到影響時,父類才能真正被復用,而子類也可能夠在父類的基礎上增加新的行為。由於子型別的可替換性才使得使用父類型別的模組在無需修改的情況下就可以擴充套件。

5.迪公尺特原則:(也叫最少知識原則)

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

迪公尺特法則其根本思想,是強調了類之間的松耦合。類之間的耦合越弱,越有利於復用,乙個處於弱耦合的類被修改,不會對有關係的類造成波及。

6.合成/

聚合復用原則

盡量使用合成

/聚合,盡量不要使用類繼承。

設計模式的種類?

建立型:

1.單件模式

(singleton pattern)

2.抽象工廠(

abstract factory)

3.建造者模式

(builder)

4.工廠方法模式(

factory method)

5.原型模式

(prototype)

結構型:

6.介面卡模式(

adapter pattern)

7.橋接模式(

bridge pattern)

8.裝飾模式

(decorator pattern)

9.組合模式

(composite pattern)

10.外觀模式(

facade pattern)

11.享元模式

(flyweight pattern)

12.**模式

(proxy pattern)

行為型13.模板方法

(template method)

14.命令模式

(command pattern)

15.迭代器模式

(iterator pattern)

16.觀察者模式

(observer pattern)

17.直譯器模式

(interpreter pattern)

18.中介者模式

(mediator pattern)

19.職責鏈模式

(chain of responsibility pattern)

20.備忘錄模式

(memento pattern)

21.策略模式

(strategy pattern)

22.訪問者模式

(visitor pattern)

23.狀態模式

(state pattern)

設計模式 什麼是設計模式

在 設計模式之禪 一書中,秦小波前輩寫到 它是一套理論,由軟體界的先輩們總結出的一套可以反覆使用的經驗,它可以提高 的可重用性 增強系統的可維護性,以及解決一系列的複雜問題 也就是說,我們開發人員的前輩曾遭遇過相同的問題,也順利地使用各種方案解決過這些問題,然後他們把這些解決方案總結成了經驗,也就是...

什麼是設計模式

什麼是模式,這是乙個看上去簡單,但是又非常不簡單的問題。我見過很多人,學習模式理論已經很長時間了,但是並不真正理解這一點。模式理論的基本思想其實起源於中國,是中國文化的固有思想。你,我,我們中每乙個自幼受到中國思想薰陶的人,都自然具有這一基本思想。模式的思想存在於中國文化的各個角落,包括哲學 法律,...

什麼是設計模式?

設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。毫無疑問,設計模式於己於他人於系統都是多贏的,設計模式使 編制真正工程化,設計模式是軟體工程的基石脈絡,如同大廈的結構一樣。通俗的說,...