1
我在重構我的程序。基本上我把所有的類都放到一個模塊中。Python:如何保持實例的獨立性?
現在我面臨的問題是,某些模塊代碼依賴於我在主程序中實例化的類的實例。當然,我可以直接將實例傳遞給方法。或者pickle
這個實例。或者定義屬性爲global
。最好的方法是走哪條路?
我在重構我的程序。基本上我把所有的類都放到一個模塊中。Python:如何保持實例的獨立性?
現在我面臨的問題是,某些模塊代碼依賴於我在主程序中實例化的類的實例。當然,我可以直接將實例傳遞給方法。或者pickle
這個實例。或者定義屬性爲global
。最好的方法是走哪條路?
一種可能性是在實例的實例傳遞到類:
class Bar(object):
def __init__(self, inst):
self.inst = inst
def method(self):
# use self.inst
inst = Foo()
bar = Bar(inst)
對我而言,這不是一個壞主意。謝謝。 – LarsVegas
沒有看到代碼,這幾乎是不可能的回答;太寬泛,太模糊,我害怕。 *一般來說,如果代碼依賴於特定的狀態,那麼最好將該狀態作爲參數傳遞。 –
我擔心有人會這麼說。但是,把我所有的代碼放在這裏也不是一個真正的選擇。不管怎麼說,還是要謝謝你。 – LarsVegas
聽起來像你應該閱讀依賴注入。 – Blubber