Мне сложно определить ответственность классов: мне нужно поместить этот метод в этот класс или я должен поместить этот метод в другой класс? Например, представьте простой класс пользователя с идентификатором, именем, фамилией и паролем. Теперь у вас есть userId, и вы хотите имя forname и lastname, поэтому вы создаете такой метод, как: public User GetUserById (int id) {}. Затем вы хотите показать список всех пользователей, поэтому вы создаете другой метод: public List GetAllUsers() {}. И, наконец, вы хотите обновить, удалить и сохранить пользователя. Это дает нам 5 методов:C# классы и методы
public bool SaveUser(User user);
public bool UpdateUser(User user);
public bool DeleteUser(User user);
public User GetUserById(int id);
public List<User> GetAllUsers();
Итак, мой вопрос: вы ставите все эти методы в классе User? Или вы создаете еще один класс данных (класс UserData), который может подключаться к базе данных и содержать все эти методы?
Это же, как и мой вопрос: http://stackoverflow.com/questions/730083/which-class-structure-is-more-desirable –