Я наткнулся на интересную проблему / ошибку, которую я в итоге решил, но решение не то, что я ожидал или хотел бы, чтобы оно было.
Настройка проста. Существует абстрактный статический класс Factory , который имеет ссылку на синглтон ( Registry ), а также два статических свойства: модель и таблица .
Существует ряд статических классов, основанных на / наследующих от этого абстрактного класса, и у всех них есть метод init () , в котором они устанавливают таблицы model и свойства. Конечно, поскольку модель и таблица являются статическими, они могут иметь только одно значение, одинаковое для всех дочерних классов абстрактного Factory класса. Это проблема / ошибка.
Однако моя цель состоит в том, чтобы каждый дочерний класс имел свою собственную модель и таблицу , поэтому я вынужден объявить модель и таблицу в каждом дочернем классе как статическое свойство. Это кажется немного громоздким (и не очень СУХОЙ), но мне кажется, что это единственное решение, если я хочу, чтобы (1) классы наследовали от абстрактного Factory класса и (2) остались статичный.
Правильно ли мое предположение или я упускаю другой подход?