【发布时间】:2012-08-22 20:49:26
【问题描述】:
我们可以通过这两种方法将数据发送到数据访问层或任何其他来源:
方法 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 我应该采用哪种方法?
【问题讨论】:
标签: c# java .net oop design-patterns