我想在ASP.NET MVC項目中使用三層體系結構和存儲庫模式。但在某些情況下,三層體系結構和存儲庫模式看起來幾乎相同。於是,我就研究以下,使之更加明確:三層體系結構與存儲庫模式
在那之後,我已經進入下面的代碼執行和所期望的一些建議,以改善實施一個更有效的方式:
模式 - Department類:
public class Department
{
public int DepartmentID { get; set; }
public string Code { get; set; }
public string DepartmentName { get; set; }
}
個
接口 - IRepository接口:
public interface IRepository
{
public int Add(Student aStudent); //For Adding Students
public int Add(Department aDepartment); //For Adding Departments
}
DAL - DepartmentGateway類:
public class DepartmentGateway : IRepository
{
/****Repository Pattern - Starts****/
Gateway aGateway = new Gateway();
public int Add(Department aDepartment)
{
aGateway.Query = "INSERT INTO Departments (Code, Name) VALUES (@Code, @Name)";
aGateway.Command = new SqlCommand(aGateway.Query, aGateway.Connection);
aGateway.Connection.Open();
aGateway.Command.Parameters.Clear();
aGateway.Command.Parameters.Add("Code", SqlDbType.NVarChar);
aGateway.Command.Parameters["Code"].Value = aDepartment.Code;
aGateway.Command.Parameters.Add("Name", SqlDbType.NVarChar);
aGateway.Command.Parameters["Name"].Value = aDepartment.DepartmentName;
int rowAffected = aGateway.Command.ExecuteNonQuery();
aGateway.Connection.Close();
return rowAffected;
}
/****Repository Pattern - Ends****/
}
BLL - DepartmentManager類:
public class DepartmentManager
{
DepartmentGateway aDepartmentGateway = new DepartmentGateway();
public int Add(Department aDepartment)
{
int affect = aDepartmentGateway.Add(aDepartment);
if (affect > 0)
{
return 1;
}
else
{
return 0;
}
}
}
我要離開UI部分。我正試圖確保這是否是繼續並讓我知道的正確方法。謝謝。
注意:我道歉問這個問題。實際上,我將這兩件事情混合在一起,並期望來自具有代碼示例的專家的一些建議。請不要發佈任何鏈接。我已經看到了一些。
你不使用ORM嗎? –
你好@Div!暫時沒有。它處於測試模式,稍後將遷移到ORM。 –