iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0

Dependence Container 是另一個解import的方法

其實就是把很多的Dependency放進一個object裏面,並且傳入各個物件內

常見的使用情境是每寫一個lib就把它放進container內

優點是可以省下大量的import

缺點是每個語言的物件的實作不一樣

所以很重要的是container裡面的物件,一定要stateless

不然就很容易產生bug



import logging


class Dependency:
    sheet_helper: SheetHelper
    config: Config
    logger: logging.Logger
    models = None

    def __init__(self):
        self.sheet_helper = init_google_sheet_helper()
        self.config = Config()
        self.logger = initialize_logger()
        self.models = models


上一篇
D10 - 不要再import了,auto discover的運用
下一篇
D12 - 常被忽略的責任 - 談Sanitizer與 Decorator 模式
系列文
寫個好的lib大家用吧!那些好用的lib常見的套路與想法25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言