工廠模式 建立者和呼叫者的分離

2021-10-09 06:34:23 字數 1372 閱讀 7375

2、簡單(靜態)工廠模式

3、工廠方法模式

4、總結

實現建立者和呼叫者的分離。

相關oop原則

- 客戶端建立物件時只需要記住特定的引數,而不需要記住複雜的類名,也不用關注實現的過程。(實現了封裝和部分解耦)。

- 建立物件不需要單獨例項化,而是通過工廠類直接獲取示例(實現復用)

​ 適合業務簡單或者產品較少的情況

public

inte***ce

car

public

class

tesla

implements

car}

public

class

wuling

implements

car}

public

class

ca***ctory

public

static car gettesla()

}

public

class

consumer

}

​ 工廠方法模式將生成具體產品的任務分發給具體的產品工廠,也就是定義乙個抽象工廠,將生產任務交給不同的派生類工廠。如下圖,當需要新增車型時,增加了tesla factory和tesla。即通過增加新的工廠來達到增加新的車型。

​ 符合工廠模式的情況,多由於解耦。

public

inte***ce

ca***ctory

public

class

wulingfactory

implements

ca***ctory

}

public

class

teslafactory

implements

ca***ctory

}

public

class

consumer

}

簡單工廠在

都優於 工廠方法模式

雖然根據設計原則應該使用工廠 方法模式,但是考慮到實際業務,簡單工廠模式優先。

了解其他設計模式

設計模式 建立者 工廠模式

解決問題 當客戶需要手機 而不知道需要什麼型別的手機 就是對某一類需求,而不知道具體需求,用工廠模式可以做到靈活的滿足需求,按照客戶的需要 生產出對應的各種型別的手機 public inte ce phone public class motophone implements phone overr...

建立者模式

當我們使用抽象工廠時,在客戶端進行呼叫的時候,如果產品的類別比較多,那麼此時工廠返回的例項物件將會很多。客戶端得 將會大大增加,這將不利於程式的可讀性。為了解決此類問題,可以把所有例項的建立放在乙個類中去生成,這樣在客戶端只需要呼叫這個建立者類,大大減少客戶端的 量。1,所有動物類的介面 packa...

建立者模式

建造者模式的定義將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示 大話設計模式 舉了乙個很好的例子 建造小人,一共需建造6個部分,頭部 身體 左右手 左右腳。與工廠模式不同,建造者模式是在導向者的控制下一步一步構造產品的。建造小人就是在控制下一步步構造出來的。建立者模式可以能...