代码实现Context 类的作用
class Context {
private int variable;
public void setVariable(int value) {
this.variable = value;
}
public int getVariable() {
return variable;
}
}
interface Expression {
int interpret(Context context);
}
class NumberExpression implements Expression {
private int number;
public NumberExpression(int number) {
this.number = number;
}
public int interpret(Context context) {
return number;
}
}
class MultiplyExpression implements Expression {
private Expression left;
private Expression right;
public MultiplyExpression(Expression left, Expression right) {
this.left = left;
this.right = right;
}
public int interpret(Context context) {
int leftValue = left.interpret(context);
int rightValue = right.interpret(context);
return leftValue * rightValue;
}
}
public class InterpreterPatternExample {
public static void main(String[] args) {
Context context = new Context();
context.setVariable(5);
Expression expression = new MultiplyExpression(
new NumberExpression(10),
new NumberExpression(2)
);
int result = expression.interpret(context);
System.out.println("Result: " + result);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通