【问题标题】:Wrapper to Objects包装到对象
【发布时间】:2023-03-15 17:23:01
【问题描述】:

这是一个软件设计问题。 我有一个这样的文件夹:

api.py
calendar/
  __init__.py
  asia/
  europe/
    __init.py
    germany.py
    italy.py
  america/
  ...
    

每个国家都有自己的日历,如下所示:

## germany.py
from some_other_library import get_calendar

munich_params = {...}
munich_calendar = get_calendar("DE", 
                               start_time='2020-01-01', 
                               end_time='2020-05-01', 
                               params=munich_params)
berlin_params = {...}
berlin_calendar = get_calendar("DE",
                               start_time='2020-01-01', 
                               end_time='2020-05-01', 
                               params=berlin_params)
## italy.py
from some_other_library import get_calendar

milan_params = {...}
milan_calendar = get_calendar("IT", 
                              start_time='2020-01-01', 
                              end_time='2020-05-01', 
                              params=milan_params)
rome_params = {...}
rome_calendar = get_calendar("IT",
                             start_time='2020-01-01', 
                             end_time='2020-05-01', 
                             params=rome_params)

palermo_params = {...}
palermo_calendar = get_calendar("IT",
                                start_time='2020-01-01', 
                                end_time='2020-05-01', 
                                params=palermo_params)

我想要的是所有这些国家的日历的包装。简而言之,像

## api.py

def get_calendar():
    code code code
    pass

#######################

> import api
> calendar = api.get_calendar("munich")

我不想硬编码。我只想将日历文件夹中的所有日历加载到某个包装器中。也许是一个枚举类而不是一个函数?不确定。

如果没有答案,我可以在哪里寻找任何想法或资源?

【问题讨论】:

    标签: python design-patterns architecture


    【解决方案1】:

    您正在寻找Factory Pattern

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-02
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 2013-01-15
      相关资源
      最近更新 更多