gpt4 book ai didi

c# - "Factory Method"设计模式

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:36 25 4
gpt4 key购买 nike

我正在尝试理解一种非常常用的模式,称为“工厂方法”。为什么叫“方法”?

另外,“抽象工厂”模式和“工厂方法”模式有什么区别?

最佳答案

之所以称为“方法”,是因为工厂本身就是类的一些方法,通常是静态方法。例如,类 Monster 可以有一个名为 Create 的方法,它会创建一些 Monster 或 Monster 的子类型。

如果 Monster 类是抽象的并且有一个工厂方法,那么你可以称它为抽象工厂,因为你可以通过调用它的工厂方法来实例化子类型。

所有这一切背后的原因是,您将根据上下文或其他因素决定应返回哪个确切子类型的决定委托(delegate)给工厂。

C# 示例:

public abstract class Monster {
public static Monster Create() { // "Create" could have some parameters if needed.
return new CuteMonster(); // you could change this without having to change client code.
}
}

关于c# - "Factory Method"设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29562350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com