class SomethingValidator(BaseValidator):
def validate(self, artifact: Artifact1):
pass
# таких несколько сотен
class AnotherValidator(BaseStrangeValidator):
def validate(self, artifact: Artifact2):
pass
# таких пару десятков
Так вышло, что валидаторы из второго набора запускаются из отдельной точки входа и имеют чуть отличающийся формат входных данных (в первом наборе их больше). Нужно как-то адаптировать валидаторы из второго набора запускаться из цепочки первого.
С какой стороны разумно такое начинать делать с учётом того, чтобы не разламывать всё одним махом, а менять постепенно?
Я пока вижу два варианта:
1. Выносить реализации validate в отдельные функции, принимающие только существенные для валидации параметры, делать два независимых класса для каждой цепочки и оставлять в них только тонкие обёртки по их вызову.
2. Сделать адаптер с интерфейсом от Artifact2 на базе данных из Artifact1 и опять же адаптеры для классов из второй цепочки.
Есть ещё какие-то более разумные подходы?
а где можно самому поучиться этому?
Ромальо Лучано изучаем Python второй том. Полоностью посвящен ООП
Сорян ошибочка вышла
Спасибо! Я сейчас начал читать Кори Альтхофа, ничего не понимаю, но читаю
https://youtu.be/QM1iUe6IofM?t=1091 C 18:11
😂 главное не останавливайся
Дядя Боб отнесся бы скептически.
Видео на самом деле интересные вопросы задает и много интересных аргументов автор делает
Обсуждают сегодня