Цитата:
Сообщение от CrazyFlasher
"Вы часто используете наследование. В ваших цепочках наследования порой насчитывается более 5 классов."
что в этом плохого?!
|
- в этом ничего плохого нет, если это оправдано.
Как и любой инструмент, наследование нужно использовать с головой, понимая, к чему это приведет.
Длинная цепочка наследования чревата чрезмерным раздутием функциональности класса, превращая его реализацию в антипаттерн "Волшебная кнопка".
Как это узнать?
Плохой запах, на который следует обратить внимание - объекты конечного класса обладают избыточным функционалом и часть его публичных методов вы не используете никогда. Вы их просто унаследовали и спрятать не можете.
Запах становится еще четче, если вы вынуждены перекрывать унаследованные публичные методы новыми пустыми методами.
Чтобы на это не нарываться, я программирую снизу: сначала создаю конечные классы, если потребуется активно используя копи-пасту. Добиваюсь нужной функциональности, и только затем начинаю выносить общую функциональность в надклассы.
Этого пока хватало.