То, что я понял из шаблона делегирования, это класс (ClassA), который выполняет то, что делает другой класс (ClassB). ClassA также должен делать больше вещей (иметь больше методов), чем это делает ClassB. У вас может возникнуть соблазн просто иметь класс ClassA подкласса ClassB. Сопротивляйтесь этому искушению, потому что это неправильно. Наследование по своей сути медленное. Правильный дизайн включает в себя определение члена данных типа ClassB в ClassA. Таким образом, вы устранили необходимость подклассов и уменьшило прочность сцепленияЧто касается шаблона делегирования в java
//ClassA
public class ClassA{
private ClassB classB;
//methods
public void doThis(){classB.doThis();}
public void doThat(){…}
}
и вот класс В
ClassB
public class ClassB{
public void doThis(){…}
}
Пожалуйста посоветуйте мое понимание правильно.
Это звучит примерно правильно, хотя я не вижу здесь реального вопроса. –
Есть много причин для выбора делегирования по наследованию, но я бы не сказал, что производительность одна из них. –
@JBNizet, спасибо, пожалуйста, скажите, каковы причины отказа от наследования для того, чтобы сделать классы более сплоченными. !! – dghtr