2016-01-12 266 views
0

這種結構有什麼問題嗎?是否有更像pythonic的方式來做這樣的事情?從另一個類調用類實例

後端類有多種數據操作方法。前端主要方法是一個狀態機,與Kivy UI(按鈕失效邏輯,控制屏幕等)

class Backend: 
    def one(self): 
     pass 

class Frontend: 
    def main(self): 
     B.one() 

B = Backend() 
F = Frontend() 
F.main() 
+1

您是否考慮將後端實例注入前端實例? – jonrsharpe

+0

@ jonrsharpe的建議比依靠在前端方法中對特定*後端實例的全局名稱('B')進行硬編碼要好得多。 – jez

回答

3

讓你的前端類

class Frontend: 
    def __init__(self): 
     self.backend = Backend() 

    def main(self): 
     self.backend.one() 

內部後端的一個實例,如果您需要配置交易在將其傳遞給前端之前,在後端添加更多內容,在__init__上添加第二個參數並提供它。否則,您可以在前端初始化中配置後端

+0

這只是給我的代碼添加了很多「自我」。 – ProGirlXOXO

相關問題