私は MVC に比較的慣れておらず、MVC 4 ベースの Web アプリケーションのフレームワークをまとめようとしています。
この質問は私の質問と似ていますが、コミュニティに評価してもらいたい特定の状況があります。
MVC 4 Web アプリケーションと Windows サービスの 2 つのコンポーネントを持つソフトウェア システムがあります。「モデル」レイヤー (ドメイン テーブルなどを指しています) は、Windows サービスと Web アプリケーションの両方からアクセスされます。
近い将来、かなりの量の機能をモバイル アプリに公開する計画もあり、API もモデルを使用します。
機能の重複は、Web アプリケーションと API (モバイル アプリ) の場合です。
私の場合に固有のいくつかの質問を次に示します。
- ビュー モデルを Web アプリケーションと API で同じ機能 (Web とモバイル アプリで公開されている個人のアドレスの更新など) で再利用することは良い考えですか? 検証 (例: 住所の検証 - 住所行、市区町村、都道府県、郵便番号をすべて組み合わせたもの) はどこに置くべきですか?
- Windows サービスの機能は、本質的に Web+API をより補完します (リマインダー メールを送信する夜間ジョブなど) が、Web+API で使用される「モデル」部分と重複する可能性があります。サービスが「モデル」を直接使用するか、「ViewModel」のようなレイヤーを使用することをお勧めします。この場合、検証はどこに行きますか?
- より多くの情報が必要なもう 1 つの概念的な質問は、属性駆動型の検証が MVC フレームワークによって実装されていることです。つまり、ビュー モデルを取得し、ビュー モデル プロパティの検証属性を見つけて、関連する検証を挿入するのは MVC アーキテクチャです。 . API の場合、およびモデルが Windows サービスによって消費される場合、この属性主導の検証はどのように機能しますか?