abstract
class
product
class
concreteproducta
:product
}
class
concreteproductb
:product
}
abstract
class
factory
class
concreteafactory
:factory
}
class
concretebfactory
:factory
}
factory factory =
newconcreteafactory()
;product product = factory.
getinstance()
; product.diffmethod (
);
工廠方法模式的核心是將生產物件的工廠類抽象出來,至於生產物件的部分由具體的工廠類完成,當我們想要增加乙個具體產品時,除了增加乙個具體產品類,再增加乙個具體工廠類即可,而不需要對抽象工廠類進行更改,即實現了擴充套件,符合開閉原則。 C 設計模式 工廠方法模式
問題描述 之前講到了c 設計模式 簡單工廠模式,由於簡單工廠模式的侷限性,比如 工廠現在能生產producta productb和productc三種產品了,此時,需要增加生產productd產品 那麼,首先是不是需要在產品列舉型別中新增新的產品型別標識,然後,修改factory類中的switch結...
C 設計模式 工廠方法模式
問題描述 之前講到了c 設計模式 簡單工廠模式,由於簡單工廠模式的侷限性,比如 工廠現在能生產producta productb和productc三種產品了,此時,需要增加生產productd產品 那麼,首先是不是需要在產品列舉型別中新增新的產品型別標識,然後,修改factory類中的switch結...
C 設計模式 工廠方法模式
優點 1 可擴充套件 加入新產品時,無需對原 進行修改,只需在專案空間中新增實現介面的類即可 2 工廠可以自主設計產品,並且如何建立產品的細節全部在工廠內部,也叫多型工廠模式 3 包含抽象產品,具體產品 抽象工廠,具體工廠 using system using system.collections....