使用python在API上创建包装器时使用哪种范式或模式?

使用python在API上创建包装器时使用哪种范式或模式?,python,amazon-web-services,oop,interface,architecture,Python,Amazon Web Services,Oop,Interface,Architecture,我想用python创建一个库,它使用aws的不同服务来访问我的数据。数据可以来自带有boto3库的s3 bucket(AWS),也可以通过AWS的服务(比如AWS Athena,或者dynamodb,甚至rds) 这一切都应该用python来完成。我无法决定是采用面向对象的方法来定义接口(abc library=)还是采用函数方法(通过配置文件覆盖函数) 我考虑将我的库用作抽象类->定义方法,然后创建继承和实现已定义方法的子类 但是,如果我想使用read\u customer\u data()方

我想用python创建一个库,它使用aws的不同服务来访问我的数据。数据可以来自带有boto3库的s3 bucket(AWS),也可以通过AWS的服务(比如AWS Athena,或者dynamodb,甚至rds)

这一切都应该用python来完成。我无法决定是采用面向对象的方法来定义接口(abc library=)还是采用函数方法(通过配置文件覆盖函数)

我考虑将我的库用作抽象类->定义方法,然后创建继承和实现已定义方法的子类

但是,如果我想使用
read\u customer\u data()
方法将s3用作底层数据源,以及从dynamodb中
read\u organization\u data()
会发生什么呢。在这种情况下,我无法更改基础类。那么,如果我想灵活地使用不同的数据源,该怎么办呢

对我来说,似乎我不能使用一个接口来实现这种方法,因为在一个应用程序中可能需要两个不同的子类