工場設計パターンの背景にある理論を理解していますが、現実的な使用例を見つけることはできません。誰かがそれを提供するのに十分なほど親切なことができますか?C#の工場設計パターンの使用例
1
A
答えて
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
あなたの質問は、パターンが使用されている例等:
- http://www.dotnetperls.com/factory
- Factory Design Pattern (needing critique)
- http://www.dofactory.com/Patterns/PatternAbstract.aspx#_self2
- http://www.codeproject.com/Articles/57421/Design-Patterns-Part-2-The-Factory-Pattern
と件名にちょうどいくつかのリンクは極めて一般的であるため.NETフレームワークで - たとえばWebRequest
。
関連する問題
- 1. WCFと工場設計パターン
- 2. 工場設計パターンとキーワード「新規」
- 3. 工場パターンの使用
- 4. 工場とパイプラインの設計パターンの違いは何ですか?
- 5. 工場パターンの過度使用
- 6. 工場設計パターン - なぜインターフェイスが必要ですか?
- 7. C++の設計パターン:
- 8. 「自己工場」パターン
- 9. 抽象工場パターン
- 10. 工場パターンの 'Unwholesome' use?
- 11. Selenium webdriverの工場パターン
- 12. Cのビルダー設計パターン
- 13. 要約DbProviderFactoryの工場と工場パターンADO.Net?
- 14. 依存性反転の原則とC#の工場パターン
- 15. C#マルチスレッド設計の例
- 16. 工場パターンで反射を使用する
- 17. C#戦略パターン設計の問題
- 18. 状態設計パターンを使用した再設計 - 疑問
- 19. C++/CLIまたはC#を使用した状態設計パターンの実装
- 20. DAO工場パターンとは何ですか?
- 21. デシリアパターンと工場パターンを混合する
- 22. 工場出荷時のスパークシェルの例エラー
- 23. PRISMに工場<ViewModel>の例?
- 24. actionscriptのオブジェクトプール設計パターン
- 25. メディエータの設計パターン〜=トランザクションスクリプト?
- 26. キュウリとRspec工場工場の女の子工場
- 27. JSF、EJB 3.0を使用するアプリケーションの設計パターンを提案
- 28. 使用するワークフロー設計パターンの種類は?
- 29. 使用RSpecの工場例外:未定義のメソッドがゼロで削除:NilClass
- 30. サブクラス固有のアクセスは工場出荷時のパターン
バンドワゴン - この問題は閉鎖されようとしている唯一の理由です。私は他の理由ですべての耳です... – SkonJeet