我们可以使用这两种方法将数据发送到数据访问层或任何其他来源:
方法1:存储库方式:
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
public class UserRepository
{
public static void Add(User user)
{
// Add user logic
}
public static void Delete(User user)
{
// Delete user logic
}
public static User Get(int userid)
{
// Get user logic
}
}
用法:
var user = new User
{
FirstName = "FirstName",
LastName = "LastName",
Age = 20
};
UserRepository.Add(user);
在上面,您已经看到我使User类保持简单。它没有任何行为。行为被添加到单独的类UserRepository中。
第二种方法:仅在 User.cs 中保留 Add/Delete/Get 等:
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public void Add()
{
// Add user logic
}
public void Delete()
{
// Delete user logic
}
public User Get()
{
// Get user logic
}
}
用法:
var user = new User
{
FirstName = "FirstName",
LastName = "LastName",
Age = 20
};
user.Add();
上面我只保留了 User.cs 中的行为。这两种方法都服务于添加、删除等用户的目的。你能告诉我吗
哪种方法更好?
何时决定我们必须选择上述两种方法中的哪一种?
如果我也必须添加其他方法,例如FindAllUsers、 FindUserByUserId、DeleteUserByUserId我应该采用哪种方法?