несколько категорий.
И стояла задача их в соответствии с этими категориями разделить, переименовать, и обозначить соответствующие теги.
Соотвественно долго думал поставить в основе абстрактный класс или интерфейс.
Вроде желательно использовать интерфейс, но у меня так или иначе есть общие методы и поля.
В итоге сделал абстрактный класс. С одним статическим методом для всей работы и кучу абстрактных, и наследуемых методов.
И для некоторых из них написал реализацию по умолчанию.
Но крутил и так и сяк и пришёл к выводу что мне бы желательно все методы которые влияют на работу класса даже которые я уже определил в самом абстрактном классе, переопределять и в классах наследниках.
И теперь поверх абстрактного класса вынужден накатить интерфейс для того чтобы те методы которые я определил но которые необходимо расширять было видно при создании класса наследника.
Получается какая то очень странная структура. Это нормально?
Если структура помогает в решении твоей задачи, то она нормальная . Если текущий подход усложняет разработку или поддержку проджекта, то тогда да , следует что-то изменить .
Хорошо, в данном случае не усложняет
Забыл добавить, если твоя структура еще не нарушает принципы SOLID
Обсуждают сегодня