Uml &引用;“有效名称”;及;“另一端”;MDriven中的结构

Uml &引用;“有效名称”;及;“另一端”;MDriven中的结构,uml,modeling,mdriven,Uml,Modeling,Mdriven,回到问题:我在UML中将两个类彼此连接起来,它们都是常规类,其中一个名为“League” 在MDriven的“miscellaneous”菜单中,我发现以下“EffectiveName”:“League_children”和“OtherEnd”:“League_parent” 这在三个方面令人困惑: “OtherEnd”中没有名为“League”的类 术语“League_children”和“League_parent”是自动创建的 它说的是“League_children”而不是“League

回到问题:我在UML中将两个类彼此连接起来,它们都是常规类,其中一个名为“League”

在MDriven的“miscellaneous”菜单中,我发现以下“EffectiveName”:“League_children”和“OtherEnd”:“League_parent”

这在三个方面令人困惑:

  • “OtherEnd”中没有名为“League”的类
  • 术语“League_children”和“League_parent”是自动创建的
  • 它说的是“League_children”而不是“LeagueChildren”,我认为后者更为正确,因为您是如何使用代码编写的,以及MDriven工作区中图表和菜单中的其他内容
  • 我在官方书籍()中读到了“children”和“parent”这两个术语,很明显,当你有超类和子类的时候,就会用到它们。然而,到目前为止,我的图表中的“League”或任何其他类都不是超类”,那么为什么要创建这些名称呢

    此外,“另一端”不被称为“联盟”,因此不应该被称为“联盟家长”


    我搜索了我的不同类,没有发现任何被恶意/错误删除的隐藏关联。

    我识别出“父”和“子”模式,就像MDriven将一个类中的关联添加回同一个类时所做的一样

    如果你检查树中的类,我打赌你会发现一个指向self的关联。如果这是错误添加的-删除它

    通常MDriven会将关联结尾的名称保留为空,然后有效名称将是结尾的类的名称。名称-如果已设置-将覆盖此项


    当创建回self的关联时,MDriven设置附加_Parent和_Children的端点的名称。

    但不是每个“递归关联”都表示父子关系类型。特别是,如果他们不是一对多的话。因此,默认的命名模式\u Parent\u Children不好/不直观。我同意@GerdWagner的观点-但由于MDriven中的默认关联基数是一对多的-父-子模式符合此默认值。如果将命名保留为空,则会导致关联结束名称冲突的错误。无论如何-名称在添加后很容易更新。但是为什么不使用参与类的小写(可能是复数)名称作为关联结尾的默认名称(以及相应的引用属性)?与“customer”和“orders”一样,在
    customer
    Order
    之间存在一对多关联的情况下,@GerdWagner-我们使用目标类作为默认名称-如果它是一个多链接,并且拥有的包具有PluralSuffix=“s”,那么它将是“target”+“s”->“Targets”但是,当链接回self时,默认命名通常被报告为一个问题(特别是当pluralsuffix为空时)