访客模式 问答列表

访客模式(如果节点类型非常多)

作者:sbi 提问时间:10/3/2020

我们有什么? 我们正在开发的软件系统需要在组件之间交换大量数据。数据以我们所说的变量树为结构。这些数据实质上是组件之间的接口。表示特定接口的 C++ 代码是从接口描述自动生成的。执行实际数据交换有不...

如何使我的方法根据列表的输入类型返回不同类型的列表?

作者:Azn Stride 提问时间:3/16/2023

我想为名为 的方法创建从输入到输出的映射,但以“智能”方式。处理不同类型列表的方式在本质上非常相似,因为输入列表共享相同的属性,但来自不同的类。List<T>List<S>foo(List<T>)fo...

Ada 访客设计模式和泛型

作者:Albatros23 提问时间:3/16/2023

我正在实现一个访问者模式,并且我有一些元素可以使用泛型实现,但 GNAT 编译器抱怨泛型类型。 我有一个使用通用混合的解决方案,但它不太直观。 我该如何解决? 我提供了以下最小的可重复示例: 访...

C# - 不能对派生泛型类型的数组使用双重调度访客

作者:Alberto 提问时间:3/20/2023

我想知道为什么我无法在 C# 中运行泛型对象的任何 Visitor。 出于某种原因,程序总是选择我的泛型中最不具体的泛型重载。 P.S.:我不是在寻求替代方法的建议(比如不使用访客)。 我怀疑问...

访客设计模式:我的访客可以返回 Promise 还是应该创建一个新界面

作者:Lana James 提问时间:3/21/2023

我现在使用的是 Visitor 模式,其中有 2 个访问者使用相同的接口返回 T。它基本上看起来像下面的架构,但我的访问者返回了一些东西。 我想更改我的一位访客的返回类型以返回 Promise。 ...

无双重调度的访客模式

作者:Gonen I 提问时间:4/19/2023

最近,我遇到了一个代码片段,它演示了没有双重调度的修改访客模式。 他们使用运行时类来编写访问函数名称,这允许他们将 accept 函数移动到数据类的基类中,然后通过在访问器中添加通用访问函数来完全替...

没有使用重载模式对 std::visit() 的匹配函数调用

作者:glades 提问时间:5/17/2023

我正在尝试在具有访问者重载模式的变体中调度变体。但是,我似乎无法将参数拟合到预期值。我得到这个(截断,有关更多输出,请参阅编译器资源管理器链接): error: no matching functi...

有没有办法用泛型函数实现特征对象?

作者:Adnan 提问时间:6/7/2023

基本上,我正在尝试实现访问者编码范式,其中 Expr 特征需要通过二进制结构实现。我想使用 Expr 作为特征对象。任何想要与 Expr 交互的实体都需要实现 Visitors 特征。访客 trait...

在 Composite 对象上使用修饰器

作者:Shaharg 提问时间:6/23/2023

我有一个 Composite 对象(树结构),我想添加一个 Decorator,该装饰器应用于树结构中的每个对象。这可能吗? 以下是几个用例: 具有函数 draw() 的复合形状。我想应用“蓝色”装...

带有用于遍历树结构的模板的访客模式

作者:Jacob 提问时间:7/12/2023

我得到了一个类似“树”的结构,它表示一个简单的加法表达式。(例 2 + 4 + (3 + 5)) 我正在使用访客模式遍历树并找到总和。问题是我希望我的实现使用模板,这会导致一些奇怪的错误。 我需要...


共15条 当前第1页