c# - 您如何对此类设计进行分类?

标签 c# design-patterns

我看到的以下类型的设计基本上具有“瘦”类,不包括任何类型的行为。辅助类用于插入/更新/删除/获取。

这是错的吗?它是反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/

相关文章:

c# - Azure 存储 CDN 连接字符串

c# - MOQ 返回返回 Null

android - 数据库访问设计模式

java - 如何确保每个线程工作在不同的进程对象上以避免线程安全问题?

php - 在 PHP 中实例化类或使用静态方法

c# - 如何在 .NET/C# 中的 Debug模式下的 Debug.WriteLine() 和 Release模式下的 Console.WriteLine() 之间切换

c# - 如何使用 System.Net.HttpListener 在 WebSocket 中启用 SSL

c# - Linq 查询和预期结果 -- 不同字段

java - 面向方面编程中的四人组模式用法?

design-patterns - 解释器模式示例