должен ли я иметь логику в моем классе модели или других классах

Я просто хочу иметь другие мнения об этом, которые я обсуждал в своей голове, например, у меня есть класс user_controller и class user


class User
   attr_accessor :name, :username   
end

class UserController
   // do something about anything about users
end


Вопрос в том, должен ли я иметь логику в моем классе User, чтобы это было


user = User.new
user.do_something(user1)

or it should be 

user_controller = UserController.new
user_controller.do_something(user1, user2)

Я не уверен, какой из них является лучшим дизайном, лично мне очень нравится первый, например это будет выглядеть как


john = User.new
john.accept_friend(jane)

instead of 
user_controller = UserController.new
user_controller.accept_friend(john, jane)


Каковы плюсы и минусы этих шаблонов? Это характерно не только для Ruby, но и потому, что Ruby легче печатать.

Редактировать:Происходит действительно хорошая конверсия, но мне больше нравится здесь больше от людей. Всем спасибо.

5
задан toy 27 March 2012 в 08:50
поделиться