设计模式总结 行为型模式续

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) 职责链

以上是关于设计模式总结 行为型模式续的主要内容,如果未能解决你的问题,请参考以下文章

大话设计模式行为型模式总结

23种设计模式归纳总结——行为型

23种设计模式归纳总结——行为型

23种设计模式归纳总结——行为型

23种设计模式的分类和应用场景总结设计模式

23种设计模式的分类和应用场景总结设计模式