【发布时间】: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