在 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
}
   }

根据这个设计,请建议它是否正确,并且有问题。如果错误,请建议我如何改进它。

我特别想问,将数据访问类设置为静态是好的做法还是不好?

提前致谢

在 asp.net 中创建 3 层架构的最佳实践

好吧,我在这里错过了定义BusinessLogic上的操作的接口,这些接口将允许您对代码进行单元测试。

public interface IUserManager{
    bool AddUser(string name,string password, string email);
}

关于使数据访问静态,如果是像 Asp.Net 这样的多线程环境,最好不要,并遵循每个请求的会话策略。