В настоящее время я сталкиваюсь со следующей проблемой: представьте, что у меня есть абстрактный класс A
для фильтрации определенных объектов.Итак, у меня есть PassThroughFilter
расширение A
, которое ничего не делает (NIL-элемент).Через шаблон декоратора у меня есть другой абстрактный класс A_Dec
, который имеет свойство type
.Кроме того, у меня есть классы B
и C
, оба расширяющие A_Dec
.Они используют type
для разных вещей, поэтому они логически разные.Пример фильтра может быть таким: C(type=XC, decorator=B(type=XB, decorator=A))
Не хочу создавать JSON для сохранения в текущем фильтре.Что легко сделать, НО для JSON:
{type=X, decorator={}}
, где {}
представляет A
Я не могу различить B
и C
.
Простым решением было бы создание локальной переменной с именем класса или чего-то другого уникального.Но есть ли правильный способ справиться с этим?
Заранее спасибо!