我已通过以下方式设计了该应用程序:
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
}
}
根据这个设计,请建议这样做是否正确,哪些是错误的。 如果有错,请建议我如何改进它。
我特别想问一下,使数据访问类静态是不是很好?
提前致谢
答案 0 :(得分:1)
好吧,我在这里错过了定义BusinessLogic操作的接口,它们允许您对代码进行单元测试。
public interface IUserManager{
bool AddUser(string name,string password, string email);
}
关于使数据访问保持静态,如果它是像Asp.Net这样的多线程环境,那么最好不要按照每个请求策略进行会话。