Обычно я стараюсь, чтобы экземпляры моих объектов соответствовали Liskov Substitution Principle, но я Мне всегда было интересно, думают ли люди, что LSP следует применять и к конструкторам?
Я пробовал поискать в Google по этому поводу, но так или иначе не смог найти твердого мнения.
Я должен отметить, что большая часть моего кода написана на Ruby, но иногда я обнаруживаю, что конструкторы моих подклассов немного отличаются от родительского класса. Они принимают тот же базовый набор аргументов и часто дополнительные аргументы. Иногда это также происходит с другими методами класса.
В глубине души это всегда казалось нарушением LSP, но я хотел посмотреть, чувствует ли кто-нибудь это тоже так.