用于存储用户的类命名约定和结构
本文关键字:命名约定 结构 存储 用户 用于 | 更新日期: 2023-09-27 18:09:05
我想做一个类的函数像Add(), Delete()等在数据库中存储用户。
那么,什么是更好的命名约定和结构呢?在一个类中:
**EXAMPLE**
User.Add("Username", "Password");
User user = User.GetUser();
class User
{
public User(string username, string password)
{
Username = username;
Password = password;
}
public string Username { get; set; }
public string Password { get; set; }
public static void Add(string username, string password)
{
//Add user to database
}
public static User GetUser()
{
//Get user from database
}
}
或分隔为两个类并使用*Manager后缀…
**EXAMPLE**
UserManager.Add("", "");
User user = UserManager.GetUser();
class UserManager
{
public static void Add(string username, string password)
{
//Add user to database
}
public static User GetUser()
{
//Get user from database
}
}
class User
{
public User(string username, string password)
{
Username = username;
Password = password;
}
public string Username { get; set; }
public string Password { get; set; }
}
或者两个例子都不好,你有一个更好的?
名称为"manager"的类通常指向一些不为人所知的设计。
我会使用经典的存储库模式和依赖注入。
基本上就是:
- 获取CRUD操作的接口
- 在需要的地方注入具体实现的实例,而不是自己使用具体实现
我更喜欢第二种方式,使用没有逻辑和管理器类的简单实体,实际上MS实体框架或多或少是相同的,实体只有属性,生成的DBContext允许您查询,添加和编辑实体。
小提示:不要将UserManager的方法设置为静态的,类应该是带有实例方法的普通类,这样你可以很容易地进行测试,并在需要时注入。
第二个小注意:你不打算检索用户的密码在明文或存储在数据库中的明文对吗?: D