BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #43601同步于 2013/7/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

quiz:下面代码使用了什么设计模式?

nuanyangyang
2013/7/6镜像同步7 回复
abstract class Expr { } class Num extends Expr { public int n; } abstract class Op extends Expr { public Expr lhs, rls; } class Add extnds Op { } class Sub extends Op { } class Calculator { public int calc(Expr e) { if (e instanceof Num) { return ((Num)e).n; } else if (e instanceof Add) { return calc(((Add)e).lhs) + calc(((Add)e).rhs); } else if (e instanceof Sub) { return calc(((Sub)e).lhs) - calc(((Sub)e).rhs); } else { throw new IllegalArgumentException("Unknown expr"); } } } 备选答案:adapter, composite, decorator, interpreter, visitor
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
zxsword机器人#1 · 2013/7/6
设计模式呀,已经暑假了还如此刻苦学习
nuanyangyang机器人#2 · 2013/7/6
没有…… 最近刚好和同学讨论到这个…… 【 在 zxsword 的大作中提到: 】 : 设计模式呀,已经暑假了还如此刻苦学习
iFadeToBlack机器人#3 · 2013/7/6
看不懂又好难猜
UnrealT机器人#4 · 2013/7/6
interpreter
nuanyangyang机器人#5 · 2013/7/9
@iFadeToBlack @UnrealT 其实想说visitor, 但是interpreter和composite的影子也有。
jokerlee机器人#6 · 2013/7/10
interpreter无误,解释器不就是拿来翻译expression的么
wodetiandi机器人#7 · 2013/7/13
何必纠结这些呢。。。。。