在 asp.net 中创建 3 层架构的最佳实践
本文关键字:最佳 net asp 创建 | 更新日期: 2023-09-27 17:56:01
我通过以下方式设计了应用程序:
Form
UserManager manager = new UserManager();
bool result= manager.AddUser(txtName.text,txtPassword.text,txtEmail.text);
<App_Code>'BusinessLogic
Public Class UserManager
{
public UserManager()
{
}
public bool AddUser(string name,string password, string email)
{
UserDB.AddUser(name,password,email);
}
}
<App_Code>'BusinessObject
public class User
{
private string _name;
private string _pass;
private string _email;
public string Name
{
get { return _name;}
set { _name;= value; }
}
public string Pass
{
get { return _pass;}
set { _name= value; }
}
public string Email
{
get { return _email };
set { _email=value; }
}
}
<App_Code>'BusinessObject'Collections
public class UserList : List<User>
{
}
<App_Code>'DataAccess
public class UserDB
{
public static bool AddUser(string name,string password, string email)
{
//stored procedure call
}
}
根据这个设计,请建议它是否正确,并且有问题。如果错误,请建议我如何改进它。
我特别想问,将数据访问类设置为静态是好的做法还是不好?
提前致谢
好吧,我在这里错过了定义BusinessLogic上的操作的接口,这些接口将允许您对代码进行单元测试。
public interface IUserManager{
bool AddUser(string name,string password, string email);
}
关于使数据访问静态,如果是像 Asp.Net 这样的多线程环境,最好不要,并遵循每个请求的会话策略。