これは質問の長いリストかもしれませんが、私に耐えてください。WPF、PRISM、CODE FIRST、およびSQL CEを使用してLOBアプリケーションの構築を開始しました。最初のアプリケーション(または試行)の後、多くの質問があります。まず、次のようにします。
- モデルまたはドメイン層のすぐ上のBLL層のどこに、ビジネスロジックを配置する必要がありますか?
- ビューモデルはリポジトリへの参照を受け取る必要がありますか、それともリポジトリはドメインモデルオブジェクトによってのみ使用される必要がありますか?
- 2番目の質問を別の言い方をすると、モデルを表示するにはどのようなオブジェクトを指定する必要がありますか?
- ディスプレイ(データグリッドなど)とフォームでの編集に同じビューモデルを使用していますが、多くの問題が発生します。コードを重複させずにこれを行うためのより良い方法はありますか?
- 私が直面した最大の問題は、階層内の子が親への参照を取得できないように、常にビューモデルを階層関係で編成し、ビューがそれらの子にバインドされ、オブジェクトの追加を引き起こすメソッドを呼び出したためです。リポジトリこれらのリポジトリへの変更を親に通知する方法が見つかりませんでした。バインドされたビューを更新できるので、イベントを使用してこれを解決する人がいますが、この解決策が気に入らないので、もっと良い方法があるかどうか知りたいですか?
- 少なくとも、VB .NETまたはWCF(ローカルデータベースが必要)を使用する例ではなく、上記のテクノロジを使用して実際のLOBアプリケーションを構築する例を誰かが指摘できますか。