некоторых методах которых реализуется один из вариантов алгоритма, при этом внутренняя структура классов, их атрибуты, остальные методы не зависят от варианта алгоритма, то есть они всегда одни и те же. Как построить иерархию классов в такой задаче? Самое простое решение, которое приходит в голову, на каждую версию алгоритма скопировать иерархию и переопределять нужные методы, но тогда, если вдруг возникнет ошибка в участке кода, который везде одинаковый, то надо будет править каждую из копий, что существенный недостаток
Стратегия не подойдёт?
а как быть, если классу стратегии требуется доступ к внутренним полям объекта?
Нельзя ли передать в метод стратегии только нужные данные?
Возможно так получится, сложно сказать сходу, спасибо за совет
Обсуждают сегодня