【问题标题】:Abstract Factory: are constructors with parameters allowed in concrete product classes?抽象工厂:具体产品类中是否允许使用带参数的构造函数?
【发布时间】:2012-03-01 17:42:52
【问题描述】:

在抽象工厂模式中,具体工厂创建的具体产品实现了一定的接口。混凝土产品的实施是否还有其他限制?例如,具体产品类中是否允许使用非默认构造函数?

例子:

public class XmlDaoFactory : DaoFactory
{
    public override ICustomersDao CreateCustomersDao()
    {
        // XmlCustomersDao is a concrete product
        return new XmlCustomersDao(1000, true);
    }

    ...
}

【问题讨论】:

    标签: oop design-patterns


    【解决方案1】:

    例如,具体产品类中是否允许使用非默认构造函数?

    当然。这就是使用 AbstractFactory 的美妙之处;这些细节可以隐藏在您的混凝土工厂中,而客户不必知道它们。

    【讨论】:

    • 能否从配置文件中加载参数?
    • 什么是火星?火星的目的是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2014-12-15
    • 2021-09-05
    • 2019-10-22
    • 2011-09-08
    • 2013-11-17
    • 2012-12-02
    相关资源
    最近更新 更多