1

ファクトリデザインパターンの背後にある理論は理解できましたが、実際の使用例は見つからないようです。誰かがそれを提供するのと同じくらい親切にすることができますか?

4

2 に答える 2

4

ファクトリデザインにはいくつかのバリエーションがあります。抽象ファクトリ、ファクトリメソッドなどです。実際の例に興味があるので、私が行ったことを共有したいと思いました。

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

これは私のDataAccessFactoryクラス内のメソッドです。使用するデータクラスを決定し、それを呼び出し元に返す責任があります。

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;
}

そして、これが私のビジネスロジッククラスの1つがDAL要求を行う方法です。

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

ビジネスロジックは、データアクセス層から完全に切り離されています。お役に立てば幸いです。

于 2012-04-05T22:38:21.607 に答える
1

あなたの質問は非常に一般的であるため、例などを含む主題に関するいくつかのリンクだけです。

このパターンは、.NET Frameworkで使用されます(たとえば、WebRequest

于 2012-04-05T15:13:26.550 に答える