设计模式总结 (5)行为型模式续
生活随笔
收集整理的這篇文章主要介紹了
设计模式总结 (5)行为型模式续
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
(6)策略
還可以有不同的上下文
(7) 備忘錄
careTaker通過(guò)中間人originator保存對(duì)象memento(保存對(duì)象狀態(tài)、恢復(fù)狀態(tài)), memento是內(nèi)存變量,careTaker的保存和恢復(fù)可能是數(shù)據(jù)io。eg.undo/redo
(8) 解釋器
eg. 葉子節(jié)點(diǎn)和父節(jié)點(diǎn)構(gòu)成一個(gè)樹(shù)
//這個(gè)時(shí)候c不是終結(jié)了,需要把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(propeg2. 加法、除法解釋器:
. step1. 調(diào)用getMaleExpression()
Expression isMale = getMaleExpression(); isMale.interpret("John"). step2. getMaleExpression():
//規(guī)則: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;}@Overridepublic boolean interpret(String context) { return expr1.interpret(context) && expr2.interpret(context);} }.
(9) 裝飾
(10) 職責(zé)鏈
總結(jié)
以上是生活随笔為你收集整理的设计模式总结 (5)行为型模式续的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 设计模式总结 (4)结构型模式
- 下一篇: 设计模式总结之Bridge Patter