10

私は新しいasp.net mvcプロジェクトのために次のプロジェクト構造を作成しました.

これが私がこれまでに持っているものです:

+Assets
-+Images 
-+Scripts 
-+Stylesheets 
-+...              'More things like the above here
+Controllers 
-+Support
--+Actions         'Any custom action classes
--+Controllers     'Base controller classes
+Models
-+Domain           'Contains any class that specialise view specific domain logic
--+UrlProcessing   'Encoding/decoding business entities as URL parts 
--+...             'More things like the above here
-+Views            'Contains view models
--+Support
---+Views          'Base classes for any view models
+Support
-+Application      'Global application interface classes (i.e. class that wraps the function of the global asax)
-+Configuration    'Typed config classes
-+Helpers          'Where you put additional html helper classes, etc
-+Services
--+Bootstrap       'Tasks that run on mvc start-up that are specific to the MVC project
--+Inversion       'Specific IoC registration registrations for this project 
--+...             'More things like the above here
+Views
-+Home
-+Shared 
-+...              'More things like the above here

乾杯アンソニー

4

4 に答える 4

5

MVC サイト
アプリ -すべての静的ファイル
--common
----css
------styles-most-pages-use.css
----imgs
------images-most-pages-use.png
----js
------your-custom-lib.js
--files
----release_notes.md
----release_notes.html
--pages
----signin
------signin .css
------logo.png
------signin.js
----ダッシュボード
------dashboard.js
--vendors
----jquery
------jquery. 1.11.1.js
-_references.js

コントローラ -シン コントローラのみ、コア ライブラリ関数を呼び出すためのコード
のみ モデル -ビューを表示するために使用されるモデルのみ
ビュー - html、razor、css などのクライアント コードのみ

コア ライブラリ
基本的にすべてのコード...データ アクセス、カスタム属性、ユーティリティなど。コア コードをライブラリだけに分離することは、多くの理由で便利です。あなたのロジックは現在、Web サイトだけに縛られているわけではありません。必要に応じて、WinForms で簡単なフロント エンドを構築していくつかのロジックをテストしたり、データ アクセス レイヤーで同じ関数を使用してデータベースの管理フロント エンドを構築したりできます。

この構造は、私にとって最もシンプルで柔軟な構造だと思います。

更新
静的コンテンツ ファイル構造を更新して、より柔軟で最新のものにしました。AngularJS を使用しているときに、この構造を思いつきました。最終的に RactiveJS に移行しました。RactiveJS に移行した後、同じ構造が非常にうまく機能しました。

2015 年 8 月 21 日更新 私 は最近、より大きなプロジェクトに取り組んでおり、コア ライブラリを独自の Visual Studio プロジェクトに分離しています。これにより、SVN 外部を使用するときに柔軟になります。異なるプロジェクト間で同じライブラリを使用でき、SVN Update を実行するだけで変更を取得できます。また、独自のプロジェクトで MVC サイトも公開しました。

于 2011-03-04T16:14:10.193 に答える
1

これは少し複雑すぎると思いますが、それが理にかなっている場合は、それを使用してください。大切なことは、バランスを保つことです。

WPF や WinForms クライアントなどの他の種類のクライアント アプリケーションでデータ アクセスとビジネス ロジックを再利用できるようにするため、ソリューション内で別のプロジェクトを使用することを好みます。

于 2009-07-07T03:58:14.120 に答える