设计模式总结 行为型模式续
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式总结 行为型模式续相关的知识,希望对你有一定的参考价值。
(6)策略
还可以有不同的上下文
(7) 备忘录
careTaker通过中间人originator保存对象memento(保存对象状态、恢复状态), memento是内存变量,careTaker的保存和恢复可能是数据io。eg.undo/redo
(8) 解释器
eg. 叶子节点和父节点构成一个树
//这个时候c不是终结了,需要把c修改成ElementExpressioin
ElementExpression root = new ElementExpression("root");
ElementExpression aEle = new ElementExpression("a");
ElementExpression bEle = new ElementExpression("b");
ElementExpression cEle = new ElementExpression("c");
PropertyTerminalExpression prop = new
PropertyTerminalExpression("name");
//组合
root.addEle(aEle);
aEle.addEle(bEle);
bEle.addEle(cEle);
cEle.addEle(prop
eg2. 加法、除法解释器:
. step1. 调用getMaleExpression()
Expression isMale = getMaleExpression();
isMale.interpret("John")
. step2. getMaleExpression():
//规则:Robert 和 John 是男性
public static Expression getMaleExpression()
Expression robert = new TerminalExpression("Robert");
Expression john = new TerminalExpression("John");
return new AndExpression (robert, john);
.step3. AndExpression
public class AndExpression implements Expression
private Expression expr1 = null;
private Expression expr2 = null;
public AndExpression(Expression expr1, Expression expr2)
this.expr1 = expr1;
this.expr2 = expr2;
@Override
public boolean interpret(String context)
return expr1.interpret(context) && expr2.interpret(context);
.
(9) 装饰
(10) 职责链
以上是关于设计模式总结 行为型模式续的主要内容,如果未能解决你的问题,请参考以下文章