工場設計パターンの背景にある理論を理解していますが、現実的な使用例を見つけることはできません。誰かがそれを提供するのに十分なほど親切なことができますか?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. 工場方式設計パターン-PHP
- 4. 工場パターンの使用
- 5. Cで工場設計パターンを実装する方法
- 6. 工場とパイプラインの設計パターンの違いは何ですか?
- 7. 工場パターンの過度使用
- 8. 工場設計パターンとダイヤモンドOOPの問題
- 9. 要約リモートファイル転送アプリケーションの工場設計パターン
- 10. 工場と工場の方法のパターンをC#
- 11. 工場のパターンandroid
- 12. C++の設計パターン:
- 13. 工場設計パターン - なぜインターフェイスが必要ですか?
- 14. ノードjsで工場設計パターンを実装する方法
- 15. 抽象的な工場パターンと工場パターンの違いは?
- 16. 「自己工場」パターン
- 17. 抽象工場パターン
- 18. Selenium webdriverの工場パターン
- 19. 工場パターンの 'Unwholesome' use?
- 20. node.jsの工場パターン(express)
- 21. 工場出演者のパターン
- 22. Cのビルダー設計パターン
- 23. AngularJSの工場は工場のパターンと同じですか?
- 24. アプリケーションの工場パターンでFlaskのClick CLIを使用
- 25. シンプルな工場での戦略パターンの使用
- 26. 要約DbProviderFactoryの工場と工場パターンADO.Net?
- 27. 依存性反転の原則とC#の工場パターン
- 28. C#マルチスレッド設計の例
- 29. Identity 2.0とEntity Frameworkの工場パターン
- 30. 抽象工場パターンの説明
バンドワゴン - この問題は閉鎖されようとしている唯一の理由です。私は他の理由ですべての耳です... – SkonJeet