наследовать другие, переопределяя функции по необходимости. Никак не пойму, чем мой подход хуже. Друг говорит, что это говнокод и по стандартам так не принято. Может быть вы сможете привести мне аргументы, почему именно так не надо делать?
Например, потому что у трёх однотипных генераторов будут разные цепочки наследования: У первого - (object) У второго - (первый, object) У третьего - (второй, первый, object) Хотя с точки зрения проектирования все три генератора должны иметь одинаковую иерархию наследования (иметь общих/одинаковых предков).
Нарушает L в SOLID
А это означает, что нельзя будет сделать универсальную проверку в коде, типа: if isinstance(some_object, Base_Generator): do_something
Обсуждают сегодня