2012-04-05 8 views
1

工場設計パターンの背景にある理論を理解していますが、現実的な使用例を見つけることはできません。誰かがそれを提供するのに十分なほど親切なことができますか?C#の工場設計パターンの使用例

+0

バンドワゴン - この問題は閉鎖されようとしている唯一の理由です。私は他の理由ですべての耳です... – SkonJeet

答えて

3

抽象ファクトリやファクトリメソッドなど、いくつかのファクトリデザインがあります。実際の例に興味があるので、私が行ったことを分かち合うと思いました。

例として、私はデータアクセスファクトリを使用して、データアクセスクラスの具体的なインスタンスを返します。論理クラスは、どのデータベースが使用されているかを知らないか、または気にしません。ファクトリにデータクラスを要求し、そのデータクラスを使用するだけです。

これはDataAccessFactoryクラス内のメソッドです。これは、データクラスを使用するdetermingを担当し、呼び出し元に戻す:

public static T GetDataInterface<T>() where T : class 
{ 
    Assembly assembly = Assembly.GetExecutingAssembly(); 

    T theObject = (from t in assembly.GetTypes() 
        where t.GetInterfaces().Contains(typeof(T)) 
        && t.GetConstructor(Type.EmptyTypes) != null 
        && t.Namespace == _namespace 
        select Activator.CreateInstance(t) as T).FirstOrDefault() as T; 

    return theObject as T; 
} 

そして、これは私のビジネス・ロジック・クラスの一つは、DALの要求を行う方法です:

return DataAccessFactory.GetDataInterface<IApplicationData>().GetAll(); 

ビジネスロジックデータアクセス層から完全に切り離される。希望が役立ちます。

1

あなたの質問は、パターンが使用されている例等:

と件名にちょうどいくつかのリンクは極めて一般的であるため.NETフレームワークで - たとえばWebRequest

+1

これは本当に非常に一般的ではありません - 私は工場​​設計パターンをどこで使用できるかの現実的な例を求めています。工場設計パターンの例がどのように進歩しているのか、どのようにしているのかは、私の質問に答える者の裁量に委ねられています。とにかくあなたの答えは+1、リンクのおかげで、私は今それらを読むでしょう。 – SkonJeet

+1

@SkonJeetあなたは歓迎です:-) .NETフレームワークからの例を追加しました... – Yahia

+0

ありがとうもう一度... – SkonJeet

関連する問題