ASP.NET MVC 2 モデルについて(1)
とあるセッションでの発表準備のため
最近はASP.NET MVC 2 のモデルについて色々調べました。
セッションの資料もほぼ作り終えたので、
前と内容がカブると思いますが、重要だと思った箇所を纏めてみます。
◆モデルについて
MSDNに、モデルについて以下のような説明がありました。(管理人が要約してます)
・モデルとは、アプリケーションのコアアプリケーションロジック(ビジネスロジック)を担う部分である。(※1)
・またモデルのオブジェクト内で、DBとUIの間で受け渡されるデータを処理する。(※2)
このことから、Model-View-Controller におけるモデル層とは
・ビジネスロジックを実装する層
・データの操作(CRUD)を実装する層
という2つの役割に担う箇所と言えると思います。
◆ASP.NET MVC 2 におけるモデル
これも、MSDNにあった記述の管理人による要約です。
・モデル クラスは、Models フォルダーに配置することが推奨される。 (※2)
・ただし、他のアプリケーションで再利用できるように、独立したアセンブリに
モデル クラスをまとめることも一般的。 (※2)
管理人の好みとしては、データを操作するクラスについては「独立したアセンブリ」に配置し、
ビジネスロジックを実装するクラスと分けるのが好みです。
以下、配置の例です。
ビジネスロジックを実装する「Models」フォルダと、データベース関連を実装する「DAL」フォルダに
分けています。