我们可以采用两种方法将数据发送到数据访问层或其他数据源:
方法一:仓库方式(Repository way):
在上面,你已经看到我保持了User类的简单。它没有任何行为。行为被添加到一个单独的类UserRepository中。 第二种方法: 仅在User.cs中保留Add/Delete/Get等操作:
我只保留在User.cs中保持行为的方法。这两种方法都能实现添加、删除等用户操作的目的。请问:
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,我应该选择哪种方法?