Декоратор машинописного текста:
Время компиляции.Это одноразовое, но постоянное изменение, поскольку декорируемый класс отличается от оригинального.И это просто, в основном просто функция.
Обычный сценарий - один декоратор, применяемый к разным классам.Например: в Angular декоратор @injector применяется к различным классам и делает их инъекционными.
Для общего шаблона декоратора:
Общий сценарий - это разные декораторы в одном классе.Это довольно тяжело.Вам необходимо создать класс декоратора, общий родительский класс для класса декоратора и исходного класса, а также различные дочерние классы декоратора.Исходный класс остается неизменным, и вы можете применять декоратор по своему усмотрению во время выполнения.
Пример: у вас есть класс кофе.Вы можете создавать разные классы декораторов: эспрессо, капучино, даже кофе эспрессо + капучино, если хотите.
Только мои 2 цента.