Java設計模式(一) 工廠模式

2021-08-03 01:18:58 字數 956 閱讀 3500

工廠模式,顧名思義就是像工廠一樣生產物件,我們知道一家生產筆的工廠,不僅僅只生產鉛筆,還有原子筆和鋼筆等型別。同理,我們採用工廠類來獲取各物件。

以工廠生產筆為例,物件是筆,類penfactory是生產筆的工廠。

建立所有筆的父類pen,有乙個通用的方法write(),因為每一種筆寫的內容不容,方法的實現不同,所以寫成抽象的類和方法。

public

abstract

class pen

接著建立鉛筆、毛筆、原子筆類,繼承父類pen,並重寫父類的抽象方法。

public

class

pencil

extends

pen}

public

class

bellpen

extends

pen}

public

class

brushpen

extends

pen}

在工廠類中我們獲取各種筆的物件,根據引數的不同生產不同的物件。

public

class penfactory

public

static pen pen ;

public

static pen getinstance(string type)

return pen;

}}

這就是普通的工廠模式,但是這種有個缺點:如果有新的筆,那麼我們還需要建立新的類和修改工廠類,這違反了「物件導向」的原則,下面就是我們要說的工廠方法模式。

物件導向的原則:

不修改,只增加或刪除。這樣各個模組不影響。

java設計模式 工廠模式一

工廠方法模式所包含的成員 1 抽象產品 product 抽象類或者介面,用於定義具體產品必須實現的方法 2 具體產品 concreteproduct 如果product是乙個抽象類,那麼具體產品是product的子類 如果product是乙個介面,那麼具體產品是實現該介面的類。注 一般情況下,乙個抽...

java設計模式 工廠模式

工廠模式 存在的目的 定義乙個用於建立複雜類的物件的介面。使用工廠模式,降低了類與類之間的耦合關係。分為三種實現方式 類之間的繼承結構不同 簡單工廠模式 工廠方法模式 抽象工廠模式。主要涉及的三種類 呼叫工廠的類,工廠類,產品類。先看乙個不適用工廠模式的類組織 class bmw32 class b...

JAVA設計模式 工廠模式

一 簡單工廠。它的缺點很明顯,當需要再新增乙個whitehuman類時,需要在工廠類中修改,則 的耦合性很高。建立需要用工廠new的class public inte ce human public class blackhuman implements human public class yel...