я вижу 2 варианта: 1) добавить интерфейс diff во все объекты, передавать объект с которым производиться сравнение и сравнивать внутри. 2) добавить интерфейс to_dict возвращать представление объекта в словаре и сравнивать снаружи. Посоветуйте как лучше? Или может вариант 3 какой-то?
посмотри на паттерн visitor
Обсуждают сегодня