Я пишу карточный симулятор, который может использовать несколько библиотек, каждая библиотека имеет свои плюсы и минусы. Я хотел бы иметь возможность переключаться между библиотеками в зависимости от характера моделирования. В библиотеках есть понятия similair (например, они все знают о карте), что позволяет мне писать в основном единую структуру кода для моей симуляции и заменять различные библиотеки. Моя проблема в том, что сущности в библиотеках немного различаются, и, разумеется, единственным общим предком в обеих библиотеках является объект. Есть ли стандартный подход к этой проблеме? В настоящий момент я думаю о какой-то абстрактной фабрике в зависимости от используемой библиотеки и просто согласен с тем фактом, что некоторые методы будут иметь объект в качестве параметра.