我做了一個複雜的課,現在我必須跟蹤它並將其註冊到一個更大的班級進行管理。通過實例管理課程
問題是,複雜類可能會創建自己的新實例。因此,我必須在我的經理中發現這個新的創造。
另一個問題是,不只有一個經理。它們像會話管理器一樣使用。每個對象都有一個初始複雜對象。如果複雜對象實例化自己的新實例,則只有好的管理器必須被警告。
這裏提出我的問題的代碼示例:
class Foo:
def create_another(self):
# Do something
return Foo()
class Manager:
def __init__(self):
init_object = SomeDecorator(Foo()) # I guess there will be a decorator
self.objects = [init_objects]
m1 = Manager()
assert len(m1.objects) == 1
m1.objects[0].create_another()
assert len(m1.objects) == 2
m2 = Manager()
assert len(m1.objects) == 2
assert len(m2.objects) == 1
m1.objects[0].create_another()
assert len(m1.objects) == 3
assert len(m2.objects) == 1
m2.objects[0].create_another()
assert len(m1.objects) == 3
assert len(m2.objects) == 2
TBH我不確定你在這裏問什麼......如果你問一些更具體的問題會有幫助嗎? –
類* Foo *是一個樹節點,可以創建新節點作爲新的子節點。我想通過上下文(Manager)保存新節點的創建。Manager和Foo之間沒有邏輯聯繫,所以我不認爲編輯Foo類是好的。 * Manager *類用於加載/保存樹並在我的架構中添加服務層。 – TurpIF
第二個斷言應該是m1對嗎? –