我看到的以下类型的设计基本上具有“瘦”类,不包括任何类型的行为。辅助类用于插入/更新/删除/获取。
这是错的吗?它是反OOP的吗?
User.cs
public class User
{
public string Username { get; set; }
public string Password { get; set; }
}
Users.cs
public class Users
{
public static User LoadUser(int userID)
{
DBProvider db = new DBProvider();
return dp.LoadUser(userID);
}
}
最佳答案
虽然您的 user.cs 类正在为 domain transfer object 提供帮助, Users.cs 类本质上是您可以在 data-access objects 中应用业务规则的地方.
您可能需要考虑类的命名约定以及 namespace 。当我查看 users.cs 时,我假设它本质上是一个用于处理用户列表的类。
另一种选择是查看 Active Record Pattern ,它将结合您创建的两个类。
User.cs
public class User
{
public string Username { get; set; }
public string Password { get; set; }
public User(int userID)
{
//data connection
//get records
this.Username = datarecord["username"];
this.Password = datarecord["password"];
}
}
关于c# - 您如何对此类设计进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884959/