ベストプラクティスのアプローチに従って、私の最後の大規模なMVCプロジェクトを構築しようとしましたが、私が何をしているのかが分かりませんでした。ASP.NET MVCソリューションのベストストラクチャ
データ、ビジネス、ウェブ(MVC)プロジェクトがありますが、コントローラにはほとんどのコードが含まれています。データレイヤーはNHibernateを使用していますが、リポジトリの数が多すぎます。ビジネスレイヤーはダンピング地です他の2つのプロジェクトに属していないものについては、それは機能しますが、セットアップがうまくいったと思います。私が不満を抱いている主なものは、太ったコントローラとリポジトリです。
私はまともなサイズに成長する可能性のある新しいプロジェクトを開始しています。そのため、デザインをすぐに手放そうともっと時間を費やしています。もう少し読んだら、私は、aggregate-rootごとにリポジトリを用意して、プレゼンテーション層の各コントローラのビジネスレイヤにサービスを用意しようとしています。
私の最初の希望は、大量のコードがサービスに組み込まれることでした。これは、より小さいリポジトリと組み合わせると、コントローラとデータレイヤーを薄く保つことになりました。これまでのところ、これは起こっていません。
私が読んだことは、ビューモデルがビジネスレイヤから返されるべきではなく、プレゼンテーションレイヤに配置されるべきであることを示唆しています。そのため、サービスレイヤは主にデータレイヤからモデルプレゼンテーション層は、ビューモデルを準備するために必要なものを行います。だから私はまだ太ったコントローラと、薄いビジネスとデータ層を持っています。
私のプレゼンテーションレイヤーでもビジネスレイヤーとデータレイヤーについて知っていますが、この分離のポイントの一部はカップリングを減らすことだと思いましたか?
これは間違っていますか?私は盲目的に私がインターネット上で読んだことに従うのをやめて、単にビジネスレイヤーでビューモデルを準備して、そこにコードの大部分を移動できますか?私は古典的なASPに戻るべきですか? :)
てみてください:1)** Serenity.is ** - VSGalleryで利用可能な最高の迅速なアプリケーション開発フレームワーク、そして最高の定格テンプレート。 Serenityは、Bootstrap、SlickGrid、Dapper、JSON.NETなど、人気のある高品質のオープンソースライブラリをベースに構築されています。 ASP.NET MVCとTypeScriptの機能を組み合わせることで、堅牢で安定したアプリケーションプラットフォームを提供します。 [http://serenity.is/] (http://serenity.is/)2)** ASPネットボイラープレート** - ASP。NET Boilerplateは、新しい最新のWebアプリケーション向けに特別に設計された汎用アプリケーションフレームワークです。それは既によく知られていますt – mijaved
@mijavedここで目的にしてください。これらのフレームワークに関するあなたの声明は、広告からコピーペーストされているようです。これらのツールの中立で客観的な評価の結果ではありません。 –