用于API中对象启动的OO设计模式

时间:2012-12-20 18:22:27

标签: python api oop

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

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

  1. 在针对
  2. 调用API的内容中已存在的对象实例
  3. 在针对
  4. 调用API的内容中创建一个新对象

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

1 个答案:

答案 0 :(得分:2)

我无法想到一个与你所描述的完全匹配的设计模式,因为:

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

当没有参数调用时:

custom_API()

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

使用某种查找键调用时:

custom_API("abc")

然后返回相应的对象,或者查找键的对象列表是模糊的,如果找不到匹配的对象,则返回None