2013-08-29 48 views
1

我在重構我的程序。基本上我把所有的類都放到一個模塊中。Python:如何保持實例的獨立性?

現在我面臨的問題是,某些模塊代碼依賴於我在主程序中實例化的類的實例。當然,我可以直接將實例傳遞給方法。或者pickle這個實例。或者定義屬性爲global。最好的方法是走哪條路?

+1

沒有看到代碼,這幾乎是不可能的回答;太寬泛,太模糊,我害怕。 *一般來說,如果代碼依賴於特定的狀態,那麼最好將該狀態作爲參數傳遞。 –

+0

我擔心有人會這麼說。但是,把我所有的代碼放在這裏也不是一個真正的選擇。不管怎麼說,還是要謝謝你。 – LarsVegas

+0

聽起來像你應該閱讀依賴注入。 – Blubber

回答

1

一種可能性是在實例的實例傳遞到類:

class Bar(object): 
    def __init__(self, inst): 
     self.inst = inst 
    def method(self): 
     # use self.inst 

inst = Foo() 
bar = Bar(inst) 
+0

對我而言,這不是一個壞主意。謝謝。 – LarsVegas

相關問題