首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么设计模式可以用来连接组合的元素?

什么设计模式可以用来连接组合的元素?
EN

Stack Overflow用户
提问于 2013-02-26 20:22:28
回答 1查看 249关注 0票数 3

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

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

我想知道它是否可能是'builder‘模式,但我看到的例子非常简单,我发现基于这些例子将该模式应用于我的领域是一个相当大的跳跃。也许有另一种模式更适用于我的领域,它引用了复合模式。示例和参考资料将非常受欢迎。

非常感谢D

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

http://sourcemaking.com/creational_patterns

EN

回答 1

Stack Overflow用户

发布于 2013-03-02 14:33:40

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15089035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档