私は新しいプロジェクト(非企業)を始めていますが、今日どのように素晴らしいアーキテクチャになるのか知りたいです。
私が今計画しているのは、以下を使用することです。
- ASP.NET MVC 4.0
- SQLServer2008または2012
- .NET4.5でのEF5.0、Dapperを使用
- リポジトリパターンの実装(これはhttp://code.google.com/p/ef4prs/)
- Autofacを使用したDI
- オートマッパー
- WCFサービスレイヤー(将来のモバイル実装用)
フローの確認(何か問題がある場合は修正してください):コントローラーはApplicationServiceを呼び出し、BusinessLayerを呼び出し、UnitWork / Repositoryを使用してDALを呼び出し、 EFまたはDapperを介してクエリを実行します(リポジトリの特定のメソッドからDapperをクエリするのは正しいですか? )、結果は自動的にDTOにマップされ、コントローラーに返されます。コントローラーは、必要なものをViewModelにコピーし、ビューを返します。
ここでの問題は、私が言ったように、サイトはトラフィックが多いように計画されているパフォーマンスです。この場合、上記の項目のいずれかがパフォーマンスを低下させる可能性がありますか?または、この組み合わせはさらに何かをリークしますか?EFを破棄し、Dapperだけを使用する必要がありますか?トラフィックが原因で、サービスレイヤーのパフォーマンスが低下する可能性があります。
そして最後に、このアーキテクチャが不要なのか、それとも単に貧弱なのかはわかりません。
これは多くの質問ですが、焦点は、中規模のWebサイト向けの「過度に設計された」ソリューションではなく優れたソリューションを知ることです。
英語でごめんなさい