用于链接对象的设计模式

时间:2012-11-25 07:40:02

标签: python design-patterns

在我正在进行的项目中,我将拥有许多对象,每个对象都应该可以连接并且可以彼此断开连接。每个对象都有几个“可连接接口”(即C1,C2,C3),可以连接到不同对象的连接接口之一。无论是否存在连接,接口本身都应存在,并且应该是可添加/可移除的。

所以例如......链接对象可能看起来像这样:

obj1 = ConnectableObject()
obj1.addInterface(name=C1,someproperties)
obj2 = ConnectableObject()
obj2.addInterface(name=C2,someotherproperties)
obj1.connectTo(obj2,C1,C2) #Connects obj1 and obj2 through their interfaces C1 and C2

我在考虑创建一个名为'linkage'的第三个类,它是在接口连接时创建的,然后在断开连接时可以自行销毁。这个想法似乎有点矫枉过正,所以我正在寻找反馈。我可以在这种类型的对象交互中使用推荐的实现或设计模式吗?

1 个答案:

答案 0 :(得分:0)

听起来很合理。您可能需要查看Composite pattern并将其用于您的使用。 您没有说明您打算如何处理对象,假设您将遍历它们并根据附加的接口执行操作 - 您可以使用Iterator pattern

但请注意,在考虑设计模式的使用时,它总是一个利益与投资的问题 - 就像你说的那样,它可能是一种矫枉过正,你应该仔细检查利弊。