【发布时间】:2011-02-19 04:37:48
【问题描述】:
我无法正确建模可以使用模板的相关对象。这不是家庭作业,而是大学里一个小项目的一部分。
在此应用程序中,用户可以添加多个元素,这些元素可以是被动的,也可以是主动的。每个具体元素都有不同的属性,这些属性必须由用户设置。见图1:
由于用户会创建很多元素,我们希望每种类型的元素都有模板,所以一些属性是自动填充的。见图2:
在我看来,这是一个糟糕的设计。例如,要获取 PassiveElementA-object 的所有可能模板,必须在某处有一个仅包含 PassiveElementATemplate-objects 的列表/集。
元素的每个子类都必须有一个单独的列表。因此,如果您想添加一个新的 PassiveElement-child,您还必须编辑包含所有这些单独列表的类。
我想不出解决这个问题的好方法。由于具体的类(即 PassiveElementA、...、PassiveElementZ)有很多不同的属性,所以我知道的许多设计模式都行不通。
提前感谢您的任何提示,并为我的英语不好感到抱歉。
【问题讨论】:
标签: design-patterns modeling uml