在抽象工厂模式中,由具体工厂创建的具体产品实现了某个界面。具体产品的实施还有其他限制吗?例如,具体产品类中是否允许使用非默认构造函数?
示例:
public class XmlDaoFactory : DaoFactory
{
public override ICustomersDao CreateCustomersDao()
{
// XmlCustomersDao is a concrete product
return new XmlCustomersDao(1000, true);
}
...
}
答案 0 :(得分:1)
例如,具体产品类中是否允许使用非默认构造函数?
不确定。这就是使用AbstractFactory的美妙之处;这些细节可以隐藏在您的混凝土工厂中,而客户不必了解它们。