首页 > 解决方案 > 如何将其他模型类整齐地包装在一个类中?

问题描述

我做了一个包装,最近我反思了我认为什么是糟糕的设计决策,但是,我不确定什么是更好的选择。

目前,我的包装器是这样工作的(名称已更改):

    import wrapper
    api = wrapper.Api(params...)
    # fetch fetches data from the API
    objects = wrapper.model.fetch(api, params...)
    # get_special might be only relevant to a certain object type
    other_objects = wrapper.other_model.get_special(api, params...)

显然,将 API 作为参数传递并不是很糟糕,而且不管它看起来很糟糕。我考虑将所有这些类都放在 API 类中,但我认为这也不是一个好主意。什么是更好的设计选择?

先谢谢了

根据要求,我正在添加更多详细信息。我的应用程序是网站 launchlibrary.net 的包装器,该网站提供有关火箭发射的数据。它在这里可用 - https://github.com/Plutoberth/python-launch-library

基本上,我不确定如何以既整洁又不需要您每次都传递 API 的方式来实现这一点。我的理想方式是这样的,但我认为这需要在 API 中添加这些函数,这将使其变得非常庞大。

import launchlibrary as ll # the wrapper
api = ll.Api(params..)
launches = api.Launch(params...)

我想这更像是一个设计问题而不是实现问题。实现那段代码将是微不足道的,但它会使我的 API 类变得巨大。

标签: pythonpython-3.xoop

解决方案


推荐阅读