2012-03-01 10 views
1

抽象的な工場パターンでは、具体的なファクトリによって作成された具体的な製品は、特定のインタフェースを実装します。コンクリート製品の実装には他にも制約がありますか?たとえば、具体的な製品クラスではデフォルト以外のコンストラクタが使用できますか?抽象ファクトリ:具体的な製品クラスで使用できるパラメータを持つコンストラクタはありますか?

例:たとえば

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

    ... 
} 

答えて

1

は、具体的な製品クラスで許可されていないデフォルトのコンストラクタですか?

確かに。それはAbstractFactoryを使うことの美しさです。これらの詳細は、クライアントがコンセプトに気付かなくてもコンクリート工場に隠すことができます。

+0

設定ファイルからパラメータをロードできますか? – enzom83

+1

火星とは何ですか?火星の目的は何ですか? – enzom83

関連する問題