C++ C++;建设者与来访者相结合
我正在设计一个基于复合模式的GUI框架(窗口类继承自UIComponent类) 我需要实现一个类,该类将创建一个由一些UIComponents组成的窗口。我认为构建器模式是一个好的决策,因为它是一个复杂的结构。但我发现了该解决方案的两种变体: 朴素的建筑模式C++ C++;建设者与来访者相结合,c++,design-patterns,builder,composite,visitor,C++,Design Patterns,Builder,Composite,Visitor,我正在设计一个基于复合模式的GUI框架(窗口类继承自UIComponent类) 我需要实现一个类,该类将创建一个由一些UIComponents组成的窗口。我认为构建器模式是一个好的决策,因为它是一个复杂的结构。但我发现了该解决方案的两种变体: 朴素的建筑模式 dialogWindowBuilder = new DialogWindowBuilder; dialogWindowBuilder.AddButton(button); window = dialogWindowBuilder.GetRe
dialogWindowBuilder = new DialogWindowBuilder;
dialogWindowBuilder.AddButton(button);
window = dialogWindowBuilder.GetResult();
或具有访问者模式的生成器
window = new Window;
dialogWindowVisitor = new DialogWindowVisitor;
dialogWindowVisitor.AddButton(button);
window.build(dialogWindowVisitor);
正如我在这里读到的,访问者模式是组件结构的一个很好的补充。我在任何地方都找不到关于将Build与Visitor相结合的任何信息
每个选项的优点和/或缺点是什么