語言與模式 02工廠模式

2021-06-29 01:23:37 字數 1197 閱讀 6814

定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。factory method使乙個類的例項化延遲到其子類。

public

inte***ce

pigpublic

inte***ce

pigfactory

public

class

redpig

}public

class

redpigfactory

implements

pigfactory

}

public

class

greenpig

}public

class

greenpigfactory

implements

pigfactory

}

public

class

bluepig

}public

class

bluepigfactory

implements

pigfactory

}

呼叫:

pigfactory factory = new bluepigfactory();

factory.getpig().run();

這裡的核心是什麼?根據不同的需要返回了不同的物件,然後呢?執行返回物件的方法!

在clojure裡就是根據不同的需要直接執行不同的函式!clojure有預設支援!multimethod!

(defmulti

run (fn

[t] t))

(defmethod

run:redpig

[t](println

"redpig run"))

(defmethod

run:greenpig

[t](println

"greenpig run"))

(defmethod

run:bluepig

[t](println

"bluepig run"))

(run

:redpig)

語言與模式 03抽象工廠模式

提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。表現在 層面就是乙個工廠可以返回多個不同的例項!比如 pig不僅分顏色,還分國家,比如荷蘭pig,紐西蘭pig。public class redpigfactory implements pigfactory public pig ...

02螞蟻 設計模式 2 工廠模式

實現了建立者和呼叫者分離,工廠模式分為簡單工廠 工廠方法 抽象工廠模式。好處 可以降低程式的耦合性。為後期的維護提供了很大的便利。方便統一管理。簡單工廠模式package mayi02.may02.factory public inte ce car package mayi02.may02.fac...

工廠模式與抽象工廠模式

原始出處 作者資訊和本宣告。否則將追究法律責任。工廠模式與抽象工廠模式,相信同行不會陌生 在網上及相關書裡面也看過這方面的介紹 推薦這兩本書 steven john metsker s design patterns in c 和 gof s design pattern framework2.0 ...