gpt4 book ai didi

design-patterns - 设计模式 : What is the difference between Interpreter and Composite?

转载 作者:行者123 更新时间:2023-12-03 12:21:01 26 4
gpt4 key购买 nike

这两种模式有什么区别,不是在意图方面,因为显然它们解决不同的问题,而是在实现方面。
例如,你能说那个解释器是一个退化的复合体吗?
关于这些差异,你还能说什么?

最佳答案

解释器模式与复合模式关系不大。您可以使用组合来实现解释器的一部分 - 例如,here给出了一个 OrExpression 的例子:

public class OrExpression extends Expression{
private Expression expression1 = null;
private Expression expression2 = null;

public OrExpression(Expression expression1, Expression expression2) {
this.expression1 = expression1;
this.expression2 = expression2;
}

public boolean interpret(String str) {
return expression1.interpret(str) || expression2.interpret(str);
}
}

这是复合模式的一个例子,其中 OrExpression由另外两个表达式组成,每个表达式的结果传递给 bool 值 or功能。

不过,一般来说,这只是可能的解释器的一小部分——它更像是一个高级概念而不是一个简单的组合,并且只用于非常小众的领域(需要解释任意字符串,然后可能执行命令或表示一个集合规则)

关于design-patterns - 设计模式 : What is the difference between Interpreter and Composite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com