建模相关对象及其模板

时间:2010-05-13 16:43:34

标签: design-patterns modeling uml

我无法正确建模可以使用模板的相关对象。这不是家庭作业,而是大学中一个小项目的一部分。

在此应用程序中,用户可以添加多个元素,这些元素可以是被动的也可以是主动的。每个具体元素都有不同的属性,这些属性必须由用户设置。见图1: diagram 1

由于用户将创建许多元素,我们希望每种类型的元素都有模板,因此一些属性会自动填充。见图2: diagram 2

在我看来,这是一个糟糕的设计。例如,要获取PassiveElementA对象的所有可能模板,必须有一个仅包含PassiveElementATemplate对象的列表/集合。

Element的每个子类都必须有一个单独的列表。因此,如果您想添加一个新的PassiveElement-child,您还必须编辑包含所有这些单独列表的类。

我无法找到解决这个问题的好方法。由于具体类(即PassiveElementA,...,PassiveElementZ)具有许多不同的属性,因此我知道的许多设计模式都不起作用。

提前感谢任何提示,并抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

如果我理解正确并且通过模板你的意思是对象,它会有复杂的结构,因此你有许多现成的对象,可以根据需要复制,你可以考虑使用Prototype设计模式。否则,可能是某种抽象工厂或甚至可能是依赖注入。如果您提供决定按现在的设计方式使用它的理由可能会有所帮助。