Говоря об объектно-ориентированном дизайне, как вы думаете, чтобы обеспечить функциональность сохранения себя в базе данных, объект портит COHESION класса?Является ли объект, способный спасти себя в DataBase, портит сплоченность класса?
Представьте:
Product p = new Product()
{
Name = "Joy Rider",
Price = 100,
Currency = "USD"
};
Как вы думаете, чтобы сохранить этот продукт р на DataBase лучше сделать таким образом:
p.Save();
или в пути что-то вроде этого:
ProductServices.SaveProduct(p);
Как вы думаете?
burak - Вы хотите знать, должен ли быть способ сохранения в продукте? Или вы хотите знать, следует ли переместить его в другой класс ProductServices? – phillip
Если вы спрашиваете о фактической обработке Сохранить в продукте, тогда Oded является правильным и держите его DRY с SRP. Но если вы спрашиваете, следует ли переместить метод в ProductServices, это не является правильным утверждением и должно быть обсуждено немного лучше. – phillip