かなり複雑なWebアプリケーションをボトムアップで構築しようとしています。適切なデザインパターン(これまで常に使用したことはありません)と最新の.Netテクノロジを使用して、適切な方法で構築したいと考えています。
私の野心は、Webアプリケーションから始めることですが、将来のモバイルアプリ、およびサードパーティのアプリケーション開発とプラグインを可能にすることです。
これは私の主な難問につながります:Webサイト(MVCパターンを使用して構築する)の場合、WCFを使用してデータモデルをAPIとして公開する必要がありますか、それとも単にdllを介してデータを参照する必要があります(またはWebアプリケーションソリューションの別のプロジェクト)?
私がそれをバックアップして、私の他のデザインの考えのいくつかをあなたに与えることができるので、あなたは私が何をしようとしているのかを知っています、そしてこれのどれかが間違ったアプローチのように思われるなら入力と提案を持って来てください:
- 作業単位やリポジトリなどのデザインパターンを使用して、EFとコードファーストアプローチを使用してデータモデルを構築したいと思います。
- WCFを使用したAPIを介してデータモデル(1)を公開したいと思います。
- TDDとMVCを使用してWebアプリケーションを構築したいのですが、データモデルからデータを取得します(1)。
したがって、上記のことを考えると、Webアプリケーションでデータモデルを参照するだけでデータモデルに簡単にアクセスできる場合、WebアプリケーションでWCFAPIを使用するのはさらに面倒なようです。さらに、データモデル内のすべてのオブジェクトにすぐにアクセスできるため、後者の方が簡単なようです。Webサービスを使用してそれがどのように可能になるかわかりませんか?WCF APIを使用したい理由は、複数のプラットフォーム向けに真に開発できるようにするために、例外なくAPIを介してデータを公開するというアイデアについて多くの賞賛を聞いたからです。他にどのような理由がありますか?WCFにHttpメッセージ以外のものを使用できますか?オブジェクトを公開できますか?公開する場合、どのように公開しますか?
私が探している答えの多くはオンラインで見つけることができるように感じますが、私はパズルの別々の部分を見るのに多くの時間を費やし、それでもそれらすべてをつなぎ合わせるのに苦労しています。皆さんがお役に立てば幸いです。これが他の人にも役立つ質問であることを願っています。
私が言ったように、私はこれを正しい方法でやりたいので、あなたの入力(設計段階のどの段階でも)は非常に高く評価されています。ありがとう!