ASP.NET の MVC と 3 層アーキテクチャの違いを見つけようとしています。以前のいくつかの質問といくつかのページを参照しましたが、明確な答えを見つけることができました。
MVC の実装に関する msdn ページは次のとおりです: http://msdn.microsoft.com/en-us/library/ff647462.aspx
考えてみてください、私はこのコードを持っています:
Single page aspx UI and code as well
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head>
<title>start</title>
<script language="c#" runat="server">
void Page_Load(object sender, System.EventArgs e)
{
String selectCmd = "select * from Recording";
SqlConnection myConnection =
new SqlConnection(
"server=(local);database=recordings;Trusted_Connection=yes");
SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd,
myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Recording");
recordingSelect.DataSource = ds;
recordingSelect.DataTextField = "title";
recordingSelect.DataValueField = "id";
recordingSelect.DataBind();
}
</script>
</head>
<body>
<asp:dropdownlist id="recordingSelect" runat="server" />
<asp:button runat="server" text="Submit" OnClick="SubmitBtn_Click" />
</form>
</body>
</html>
ここで、 ---- ビューとコード ビハインドが分離された ---- .aspx用に異なるファイルがあるとします。
<%@ Page language="c#" Codebehind="Solution.aspx.cs"
AutoEventWireup="false" Inherits="Solution" %>
<html>
<asp:dropdownlist id="recordingSelect" runat="server" />
</form>
</body>
</html>
.aspx.cs
using System;
using System.Data;
using System.Data.SqlClient;
public class Solution : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
String selectCmd = "select * from Recording";
SqlConnection myConnection =
new SqlConnection(
"server=(local);database=recordings;Trusted_Connection=yes");
SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Recording");
recordingSelect.DataSource = ds;
recordingSelect.DataTextField = "title";
recordingSelect.DataValueField = "id";
recordingSelect.DataBind();
}
}
- 上記のクラスのmsdn ページ リンクを参照して
Controller
も、ビジネス ロジック (3 層アーキテクチャの中間層の場合と同様) とコントローラーの違いを識別できません。 - 3 層と MVC はまったく別のものですか? Visual Studio の ASP.NET アプリケーションは、MVC 形式のように既に分離されたファイルですか? これらに違いがない場合、どちらが好ましいスタイルですか?
- .aspx と .aspx.cs が既に分離されている場合、MVC フレームワークはどうなりますか?