我正在 Python 中实现一个具有 MVC 模式的应用程序,具有以下类定义:
class Controller(object):
def __init__(self, model, view):
self.model = model
self.view = view
self.view.register(self)
class Model(object):
def __init__(self):
pass
class View(object):
def __init__(self):
self.controller = None
def register(self, controller):
self.controller = controller
类的实例化为
model = Model()
view = View()
Controller(model, view)
控制器可以访问视图,但视图也可以访问控制器(因为控制器将其自身传递给视图)。在 UML 中表示这种结构的适当方法是什么?我的猜测是
但我不确定这两种方式的聚合是否存在。
您正在使用共享构图(空心菱形)。引用 p。 110 规格
指示该属性具有共享聚合语义。共享聚合的精确语义因应用程序领域和建模者而异。
因此,除非您对其语义有自己的定义,否则不建议一般使用它。
如果您打算使用复合聚合,则两侧都禁止这样做。这意味着每个连接元件的寿命取决于另一个元件的寿命。
引用 p。 110 以下:
组合物可以在具有传递删除特征的有向无环图中链接;也就是说,删除图的一部分中的对象也会导致删除该对象下面的子图的所有对象。
双向不是无环的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)