2016-04-27 4 views
0

私はC#.Netプロジェクトを弊社のために準備しており、これらのビジネス文書を作成するのに最も適しているデザインパターンを知りたいと思います。 私は実用的なデザインパターンをいくつか研究しましたが、現実の世界の問題にそれらを適用する際に問題があります。具体的には私のシナリオを具体的に説明します。さまざまなタイプのドキュメントを作成し、最終的にデータベースに保存されます。請求書(販売および購入)、契約(販売および購入)、船荷証券、信用状、様々な在庫および倉庫文書、おそらく後で会計文書の束。 最初はファクトリメソッドがその仕事をすると思っていましたが、それがこの作業の正しい選択であるかどうかはわかりません。 すべての共通フィールド(docId、docDate、docNumber、docIssuerなど)をベースにした "Document"という抽象クラスを作成し、目的のドキュメントオブジェクトの具体的な作成に飛び込むのが最良のアプローチだと思います。 どのようなオプションがありますか?工場の場合:個々のドキュメントごとに具体的なクラスを定義してオブジェクトを作成する必要がありますか(単純な継承ではありませんか?)、または工場のアプローチが自分の問題に関してどのように見えるのでしょうか? 各ドキュメント仕様(最終的に各データベーステーブルフィールドのようになります)を独自のクラスとして定義し、実行時にビルダーパターンまたはコンポジットパターンを使用して目的のドキュメントをアセンブルする方が良いのですか? 他の方法もありますか? 多くのビジネス関連プログラムでこの決定を下さなければならないのですが、これはかなり一般的な問題のためにStackOverflowに関する事前の質問はありませんでした。動的ビジネス文書の作成

前述のように、私たちは段階的に計画しており、この問題はアーキテクチャの重要な柱であると考えられます。したがって建設的なアドバイスは高く評価されます。

+0

このデータ(SQL/NoSQL)はどこに保存されますか? – Daemon025

+0

このスコープのアプリケーションでは、多くのデザインパターンが使用される可能性があります。あなたの投稿で提起したすべての質問を解決するための「ベストフィット」のパターンはありません。オブジェクト間の関係をスケッチし、何かを達成するコードを書く。繰り返す。コードを繰り返したり、同じ問題を何度も何度も解決していますか?デザインパターンの必要性が現れます。 – dbugger

+0

私はMS SQL 2008R2を使用します – user3079832

答えて

0

table per hierarchyをデータベース設計として使用し、NHibernateまたはEntity FrameworkのようなORMを使用して、ファクトリを使用する代わりにドキュメントを構築できます。

+0

"Bob Uncle Bob"は、フレームワークの使用を最小限に抑えることをお勧めします。これは、特に長期的には考慮すべき問題です – user3079832