Наследование vs композиции
От: Tourist Россия  
Дата: 21.07.04 16:34
Оценка:
Пусть есть

class Model {
private long n;

public long getN(){
return n;
}

}

Вариант 1

class Object extends Model {

public void edit(Model model){
// здесь проверяем доступ пользователя, редактируем модуль, сохраняем в базу и т.п.
}
}

Вариант 2

class Object {
private Model model;

public void edit(Model model){
// здесь проверяем доступ пользователя, редактируем модуль, сохраняем в базу и т.п.
}

public Model getModel(){return model;}
}



Теперь, рассудите меня с коллегой. Если какие-нибудь серьезные основания против Версии 1 (Наследования).
Мое мнение в данном случае, что в данном случае наследование является наиболее органичным решением. Выделея данные в отдельный класс я просто разгружаю класс объекта от лишних методов (get и set) для класса объекта и все основания, что наследование это зло и от него надо старатся уходить к данному случаю не имеют отношения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.