学生管理のmvc3アプリケーションを1つ作成したいと思います。 私はいくつかのオープンソースプロジェクトを見てきました。 彼らは、コアのようなソリューション構造を使用しています。 このような構造を使用する理由はありますか?mvc3アプリケーションでコードを整理するためのベストプラクティス
答えて
前述のように、論理階層は、BusinessLogic(エンティティ、検証など)、データ(お気に入りのORM)、およびプレゼンテーション(MVC)の少なくとも1つに分ける必要があります。
しかし、始めようとしているのであれば、SOLIDアーキテクチャのすべての高度な概念を組み込むのは少し難しいかもしれません。
論理層を分離することは、必ずしも別々のプロジェクトを意味するものではありません。標準のMVC3テンプレートは、これを "Models"フォルダで示しています。これに追加されたすべてのエンティティは、Myproject.Modelsという名前空間になります。後でモデルフォルダのコードを別のdllに再因子付けして参照を追加し、名前空間がMyproject.Modelsのままであれば、MVCアプリケーションは引き続き動作します。
データアクセスレイヤでも同じことができました。
私はMVCプロジェクトでアプリケーションを開発し、DALとビジネスレイヤーをフォルダ(ネームスペース)で分けることをお勧めします。アプリケーションが動作したら、必要に応じて再因子化することができます。
通常、物事を分けておくことをお勧めします。
これは、ビジネスロジックをデータベース管理コードと混在させず、ビューファイルにUI以外のコードを持つことを意味します。
これにより、作成したコードを他の人が理解しやすくなります。また、いくつかのプロジェクトに戻って、時間をかけて改善したり、エラーを訂正したりするとき、私はあなたを助けます。
もう一度撮影しないと、これがあなたの質問に答えることを願っています。
編集:これはMVCフレームワークでどのように行われているかを説明しているlinkです。
layered architectureを使用して、各レイヤーをSeparated Interfaceパターンで分離します。データベースの場合は、Repository pattern(最も簡単な方法は、nhibernateのようなORMを使用する)です。
inversion of control containerを使用すると、(インターフェイスの助けを借りて)結合を減らし、クラス間の依存関係を扱いやすくします。
- 1. Java/Springプロジェクトでバージョン管理されたREST APIコードを整理するベストプラクティス(例)
- 2. Revelアプリケーションにコードを整理するためのappフォルダが必要ですか?
- 3. GTKmmアプリケーションのコードを整理する
- 4. 誰かのコードを理解するためのツールとベストプラクティス
- 5. Angular2のAPIリンクを整理するベストプラクティス
- 6. ベストプラクティスのためのコードを編成するベストプラクティス/練習C#
- 7. mvc3でモバイルデバイスを検出するためのベストプラクティスは何ですか?
- 8. 整理するため
- 9. MVC3データコンテキストのベストプラクティス
- 10. コード内にアプリケーションのconst文字列を格納するためのベストプラクティス
- 11. ユーザーストーリーを整理するためのサービス
- 12. リストを整理するためのソートロジック
- 13. ジェネリックハンドラで異なるajaxコールを処理するためのベストプラクティス
- 14. MVC3/VoiceXMLベストプラクティス
- 15. MVC3アプリケーションでのコード実行の実行
- 16. Drupalコードを整理する
- 17. ユニットテストのためにXamarin Forms viewmodelでコードを整理するには?
- 18. .Net Webアプリケーションでdatetimeを使用するためのベストプラクティス
- 19. OSGIアプリケーションでEntityManagerを提供するためのベストプラクティス
- 20. Eclipse RCPアプリケーションでリストをデータバインドするためのベストプラクティス
- 21. JavaScript + jQuery WebアプリケーションでモデルデータとUIをリンクするためのベストプラクティス
- 22. ASP.NETアプリケーションでシングルトンインスタンスを保存するためのベストプラクティス
- 23. ASP.NET MVCでカスケードドロップダウンを処理するためのベストプラクティス
- 24. CodeIgniterでデータベースからエラーを処理するためのベストプラクティス
- 25. sconsでバージョンを管理するためのベストプラクティス?
- 26. WCFサービスで "Not Found"応答を処理するためのベストプラクティス
- 27. C#で金額を処理するためのベストプラクティス
- 28. マイクロサービス - トランザクションレスシステムでゴーストレコードを処理するためのベストプラクティス
- 29. モバイルアプリケーションで大きなオブジェクトを処理するためのベストプラクティス
- 30. ASP.NET MVC3とEntity Frameworkを使用してプロジェクトレイヤを分離するためのベストプラクティス