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

时间:2014-04-01 13:03:29

标签: c# asp.net visual-studio-2010

我已通过以下方式设计了该应用程序:

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
}

   }

根据这个设计,请建议这样做是否正确,哪些是错误的。 如果有错,请建议我如何改进它。

我特别想问一下,使数据访问类静态是不是很好?

提前致谢

1 个答案:

答案 0 :(得分:1)

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

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

关于使数据访问保持静态,如果它是像Asp.Net这样的多线程环境,那么最好不要按照每个请求策略进行会话。