(27)C 設計模式 工廠方法

2021-08-26 05:24:59 字數 1418 閱讀 4831

工廠方法模式是類的建立模式,其用意是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類中。

工廠方法是簡單工廠進一步的抽象和推廣。由於使用了多型性,工廠方法模式保持了簡單工廠模式的優點,而且克服了它的缺點。

在工廠方法模式中,核心的工廠類不在負責所有產品的建立,而是將具體建立工作交給子類來完成。這個核心類僅僅負責人給吃具體工廠必須實現的介面,而不接觸哪乙個產品類被例項化這種細節。這使得工廠模式可以允許在不修改工廠角色的情況下引進新產品。

抽象工廠:是工廠方法模式的核心,與應用程式無關。任何模式中建立的物件的工廠類必須實現這個介面。

抽象產品:工廠方法模式所建立的物件的超型別,也就是產品物件的共同父類或者共同擁有的介面。

具體產品:這個角色實現抽象產品所定義的介面。某具體產品有專門的具體工廠建立。它們之間往往一一對應。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _8factorymethod

}/// /// 抽象父類 球類

///

public abstract class ball

/// /// 籃球類 實現抽象父類中的showball方法

///

public class baseketball : ball

}/// /// 足球類 實現抽象父類中的showball方法

///

public class football : ball

}/// /// 桌球類 實現抽象父類中的showball方法

///

public class pingpangbll : ball

}/// /// 抽象工廠類 定義生產方法

///

public abstract class creator

/// /// 籃球工廠

///

public class basketballfactory : creator

}/// /// 足球工廠類

///

public class footballfactory : creator

}/// /// 桌球工廠類

///

public class pingpangballfactory : creator

}}/*output:

我是籃球

我是足球

我是桌球

*/

C 設計模式 工廠方法

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法 factory method 使乙個類的例項化延遲到其子類。也叫虛構造器 virtual constructor 結構 理解 1.product 是工廠方法生產產品的抽象基類。2.creator 是生產產品的工廠物件抽象基類。cr...

C 設計模式 工廠方法

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法 factory method 使乙個類的例項化延遲到其子類。也叫虛構造器 virtual constructor 結構 理解 1.product 是工廠方法生產產品的抽象基類。2.creator 是生產產品的工廠物件抽象基類。cr...

C 設計模式 工廠方法模式

問題描述 之前講到了c 設計模式 簡單工廠模式,由於簡單工廠模式的侷限性,比如 工廠現在能生產producta productb和productc三種產品了,此時,需要增加生產productd產品 那麼,首先是不是需要在產品列舉型別中新增新的產品型別標識,然後,修改factory類中的switch結...