3

如果您有一个复合设计模式(或任何图形/节点类型系统)的实现,哪种设计模式最能描述连接节点和在类实例之间创建链接的过程?

我当前的工作示例使用工厂模式来构造每个类实例,但现在我正在考虑将它们连接到单独的代码区域或基于文件中的数据。

我想知道它是否可能是“构建器”模式,但我看到的示例非常简单,我发现根据这些示例将模式应用于我的域是一个很大的跳跃。也许还有另一种模式更适用于我的领域,并参考了复合模式。示例和参考将不胜感激。

非常感谢 D

编辑:更多的调查发现了一个关于创造模式的好博客。他们说,根据经验,“建造者”经常建造复合材料。

http://sourcemaking.com/creational_patterns

4

1 回答 1

1

如果您希望一次构建整个复合元素,builder 是一个不错的选择。例如,如果您在城市中构建道路图并且希望构建整个城市 - 使用构建器模式。您可以将子构建器添加到您的构建器以添加邻域,这样您的构建器类就不会太大 - 只需为 bulder 进行复合。但是如果你想在复合已经存在之后添加元素,我建议如下:如果你知道在哪里添加元素,你可以为你的复合提供迭代器,并为带有索引的迭代器提供 add 方法或你希望添加的新位置你的元素。例如,如果您对树进行了排序,则迭代器将具有 add 函数,该函数将根据元素在树中的位置知道将元素添加到何处。另一种选择,如果您需要将元素添加到您不需要的复合材料中' 每个地方都没有,例如,你用街道建造城市,你希望在最短的街道旁边添加街道。好吧,在这种情况下,我可能会使用谓词或某种过滤器,它们将是复合类型中的静态内部类。

于 2013-03-02T06:33:39.543 回答