Шаблон дизайна декоратора - очень хорошее решение для расширения функциональности класса. Например, если я хочу использовать методы предварительной и последующей обработки в существующем методе класса, я могу создать декоратор и переопределить существующий метод в базовом классе и вызвать мои методы предварительной и последующей обработки соответственно.
Мой вопрос здесь заключается в том, что указанное выше требование редко возникает при разработке приложения. Я не могу пометить все методы, которые я создаю, как виртуальные, чтобы они могли быть переопределены декоратором. Следовательно, мне придется прибегнуть к сокрытию метода.
Есть ли лучший способ разработки моих классов, чтобы в ситуациях, когда я хочу переопределить любые методы, это можно было сделать наилучшим образом.