設計模式之工廠模式

2021-10-01 08:49:15 字數 1555 閱讀 3143

為什麼要學設計模式

單一原則(降低耦合度)

兩者各做各的事兒,要實現複合型功能,那麼就採取合作

增強**復用性(抽取公共的部分)

建立三個類,表示三個國家的人,分別包含name,age,***,national,另帶乙個方法,說出國家名。

小白之冗餘模式:

vara=

function

(name,age,***,national)

; obj.name=name;

obj.age=age;

obj.***=***;

obj.national=national;

obj.

speak

=function()

}varb=

function

(name,age,***,national)

; obj.name=name;

obj.age=age;

obj.***=***;

obj.national=national;

obj.

speak

=function()

}varc=

function

(name,age,***,national)

; obj.name=name;

obj.age=age;

obj.***=***;

obj.national=national;

obj.

speak

=function()

}

那麼此處可以看到,每乙個國家都要構建乙個類,多要重複賦值屬性,與編寫方法,**復用性不強,應將**公共部分抽出來,採用抽象思想,將公共部分抽象出來,做成乙個框架,乙個規範,具體是如何實現通過需要進行批量生產出來,其中就包含所需要的公共部分

抽象工廠模式

function

person

(name,age,***,national)

person.prototype.

speak

=function()

// 例項a

vara

=function

(name,age,***,national)

a.prototype.

speak

=function()

newa()

.speak()

;//例項b

varb

=function

(name,age,***,national)

b.prototype.

speak

=function()

newb()

.speak()

;

設計模式 設計模式之工廠模式

工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...

c 設計模式 之 工廠模式之 工廠模式

1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...

設計模式 工廠模式之簡單工廠模式

定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...