现在我正在开发一个专业的矢量编辑器。你能否告诉我在哪里可以看到一个好的例子(只有C++语言),实现组合模式和访问者模式的结合,不要是标准书籍的例子。
现在我正在开发一个专业的矢量编辑器。你能否告诉我在哪里可以看到一个好的例子(只有C++语言),实现组合模式和访问者模式的结合,不要是标准书籍的例子。
组合模式 + 访问者模式并不是一个很流行的组合,大多数情况下你会看到组合模式 + 迭代器模式...所以你需要亲自尝试将它们结合起来,但这并不难。在这两种模式中,你都有由具体类实现的接口,因此你需要用访问者模式的思想来填充你的组合模式。
http://sourcemaking.com/design_patterns/composite/cpp/2
http://sourcemaking.com/design_patterns/composite/cpp/1
http://sourcemaking.com/design_patterns/visitor
gl :)
这个示例源代码基于John Vlissides的书《Pattern Hatching: Design Patterns Applied》中发现的文件系统示例,使用了Composite和Visitor模式。(代码包括不在书中的外部迭代器)。
有关该书示例的免费幻灯片可在Designing with Patterns上找到。