Я хочу создать библиотеку с python, которая использует различные службы из aws для доступа к моим данным. Данные могут поступать из s3-bucket (AWS) с библиотекой boto3 или через сервисы из aws (например, AWS Athena, или, возможно, dynamicodb или даже rds) ...
Это все должно быть сделано с python. Я не могу решить, должен ли я go для объектно-ориентированного подхода для определения интерфейсов (как я должен сделать это ab c library =)?) Или go для функционального подхода (перезаписать функции через файл конфигурации) ?
Я подумал об использовании моей библиотеки в качестве абстрактного класса -> определения методов, а затем создал подклассы, наследующие и реализующие определенные методы.
Но что произойдет, если я захочу, например, * 1007? * метод использования s3 в качестве основного источника данных и read_organisation_data()
из DynamodB. В этом случае я не мог изменить базовый класс. Так что делать, если я хочу быть гибким в использовании разных источников данных.
Мне кажется, что я не могу использовать один интерфейс для этого подхода, поскольку может случиться так, что мне понадобятся два разных подкласса в одно приложение