0
我有兩個python類,我們稱它們爲A和B. A負責處理通過網絡接收和發送特定格式的消息。 B負責解釋消息。兩個python類實例互相引用
現在a和b分別是A和B類的實例。考慮以下情形:
- 一個接收消息,並呼籲消息解釋B的一些方法
- B中的進程的消息,並希望使用的一些方法來發送一個響應
要實現這個我構建了兩個相互參照的類。這工作正常,但我想問你,如果這是一個設計缺陷,應該避免?
爲了說明請參見下面的最少的代碼示例:
class A:
def set_b(self, b):
self.b = b
class B:
def set_a(self, a):
self.a = a
if __name__ == '__main__':
a = A()
b = B()
b.set_a(a)
a.set_b(b)
很難說,這聽起來不像是一個單獨的班級B給我帶來很多價值 – Sayse
我同意@Sayse,這不是天生的錯誤,但我可能會重新思考你正在嘗試做什麼。將B作爲A的子類可能更有利(假設其他地方沒有使用它)。 – BrandonM
那麼,當我開始研究這個項目時,B並沒有給出答案。我寫了幾個模塊,A(即消息處理)總是保持不變,而B必須單獨實現。這是有兩個班的最初原因。 – Chris