我为我的Python项目创建了一个UML类图,但我没有相关经验(我不是专业程序员)。
首先,这是类图:
中心或根对象是Simulation对象,没有其他任何东西存在。许多对象具有对模拟对象的反向引用,例如Atoms或Cell。 xml_hanlder是xml-form中的inputdata。许多对象都直接反向引用这个原始的xml-inputdata,例如Atoms和Cell。当然,他们也可以通过Simulation对象访问xml_handler-object,因为他们有一个对它的引用。
所以我的问题是:
答案 0 :(得分:2)
与往常一样,这取决于你究竟在做什么。
如果您对域建模,则应该完全排除数据处理程序。反向引用也无关紧要,可以忽略不计。
如果你要记录你的代码,那么显示数据处理程序和反向引用都很好,因为这些也是系统操纵的元素。
如果您有直接关系,则反向引用将是向后导航。由于它是间接的,您可能希望将xml中包含的所有元素显示为共享聚合,其中xml-handler是主端(使用菱形)。将其标记为两端派生(使用斜杠)。标记从对象到包含它的处理程序的导航。
如果您只想显示引用而不进入被包含的实际事实,请使用简单关联而不是共享聚合。您还应将其标记为派生。
这同样适用于Constrain和Simulation之间的反向引用。