5

在 python 中创建 API 时,我不确定在使用 init 创建基本对象的实例时采用什么方法。

在 API 中创建对象的实例时,用户很可能希望该对象是以下两种情况之一:

  1. 在调用 API 的对象中已经存在的对象实例
  2. 在调用 API 的对象中创建一个新对象

是否有一个公认的设计模式?init 是否应该只创建一个空对象,然后消费者必须调用 get 或 set 方法?或者也许 init 应该接受一个参数来判断这是一个 get 还是 set?或者最后,应该从 init 的参数中推断出 get 或 set 吗?

4

1 回答 1

2

我想不出与您所描述的完全匹配的设计模式,因为:

如何将 API 重载到以下内容?

不带参数调用时:

custom_API()

然后只需创建一个具有一些合理默认值的新基本对象,并让消费者使用 get / set 来配置它。

当使用某种查找键调用时:

custom_API("abc")

然后返回对应的对象,或者查找键的对象列表不明确,或者None找不到匹配的对象。

于 2012-12-20T18:31:25.610 回答