黑馬程式設計師 設計模式

2021-07-03 19:15:15 字數 1491 閱讀 4592

一、設計模式概述

1、設計模式概念:

我們專案中有很多相同的東西,我們把這些相同的東西抽取出來

符合某種規則,這個稱為設計模式。

二、簡單工廠模式

1、如果有寫完乙個類不想讓其他人建立這個類的物件怎麼辦?

第一種把構造私有化

第二種定義抽象類

2、物件導向的設計原則?

對修改關閉,對擴充套件開放

三、工廠方法模式

1、簡單工廠模式的弊端

如果再有乙個新的動物加入的話,就需要修改**,不符合咱們的對修改關閉,不好。

2、工廠方法模式的好處

如果再有乙個新的動物加入的話,不需要修改**,只需要建立乙個新的動物工廠類,和

那個動物的描述類就可以了,符合物件導向的開閉原則。

3、工廠模式中心思想

原來在main方法中建立物件,工廠模式就是在其他類中用方法封裝建立物件的過程,

想要建立物件直接呼叫方法即可。

四、單例設計模式(餓漢式)

1、怎麼樣去寫乙個單例設計模式?

前提條件:乙個類中只能建立乙個物件

a、把構造方法私有化(為了不讓外界隨意建立物件)

b、在本類中

建立乙個私有並且靜態的本類物件

c、寫乙個公共靜態方法返回第二步建立的那個物件。

**:

class student

//使不能建立物件

private static student s = new student();、//

建立乙個私有並且靜態的本類物件

public static student getstudent()  }

class text }

五、單例設計模式(懶漢

餓漢式(開發用):它是在類已載入就建立物件

懶漢式(面試用):在要用到它的時候才去建立(延遲載入思想)

寫乙個懶漢式的步驟:

a、把構造方法私有化(為了不讓外界隨意建立物件)

b、在本類中定義乙個私有並且靜態的變數並賦值為null。

c、定義乙個靜態且加鎖的方法,並在方法中判斷物件是否為null

如果為null則建立物件,如果不為null則直接返回物件。

**:

class student//使不能建立物件

private static student s = null;

public static student getstudent()

return s; } 

}class text }

注意:懶漢式如果是在多執行緒程式中的話,會出現執行緒安全問題,需要加鎖。

七、模擬手機發展(用裝飾模式)

1、什麼是裝飾模式?

對類的原有功能進行了修飾和包裝擴充

2、應用步驟:

第一步:先找到被裝飾的那個介面phone

第二步:建立乙個實體類phoneimp去實現phone這個介面

第三步:建立乙個裝飾類,實現phone這個介面,呼叫實現就可以了。

黑馬程式設計師 設計模式

第一講 設計模式 1.設計模式概述 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。2.物件導向思想設計原則 在實際的開發中,我們要想更深入的了解物件導向思想,就必須熟悉前人總結過的...

黑馬程式設計師 單例設計模式

asp.net android io開發s net培訓 期待與您交流!設計要求 1.只能被例項化一次。2.由自己建立例項。3.能向該類任意引用提供上述例項。方式一 餓漢式 class single public static single getinstance 方式二 懶漢式 class sing...

黑馬程式設計師 單例設計模式

asp.net android ios開發 net培訓 期待與您交流!單例設計模式 解決乙個類在記憶體中只存在乙個物件。想要保證物件唯一。1,為了避免其他程式過多建立該類物件。先禁止其他程式建立該類物件 2,還為了讓其他程式可以訪問到該類物件,只好在本類中,自定義乙個物件 3,為了方便其他程式對自定...