建模相关对象及其模板
问题描述:
我无法正确建模可以使用模板的相关对象。这不是家庭作业,而是大学小型项目的一部分。建模相关对象及其模板
在本申请中,用户可以添加几个元件,其可以是被动的或主动。每个具体元素具有不同的属性,这些属性必须由用户设置。见图1:
由于用户会创建很多元素,我们希望每个元素都有模板,所以一些属性会自动填充。见图2:
在我看来,这是一个糟糕的设计。例如,要获取PassiveElementA对象的所有可能模板,必须有一个仅包含PassiveElementATemplate对象的列表/集合。
必须有对元素的每个子类单独的列表。所以如果你想添加一个新的PassiveElement-child,你还必须编辑包含所有这些单独列表的类。
我想不出来解决这个问题的好办法。由于具体类(即PassiveElementA,...,PassiveElementZ)具有许多不同的属性,因此我知道的许多设计模式都不起作用。
预先感谢任何提示,和对不起我的英语不好。
答
如果我理解正确的话,你和模板你的意思是对象,这将结构复杂,因此,你有很多现成的对象,其中获得你需要他们复制,你可以考虑使用原型设计模式。否则,也许某种抽象工厂或甚至依赖注入。如果您提供决定以现在您的设计方式使用的理由,这可能会有所帮助。
原型模式看起来非常好,我会尝试一个小实现。谢谢。 – Duddle 2010-05-14 10:45:19
@Duddle没有问题,设计模式是伟大的设计知识:) ...顺便说一句。如果你遇到了原型的某些空间问题,那么检查Flyweight模式可能会有所帮助。 – 2010-05-14 11:18:49