命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队排队或记录请求日志,以及支持可撤销的操作。
Command(命令)
Command角色负责定义命令的接口(API)
ConcreteCommand(具体的命令)
ConcreteCommand角色负责实现在Command角色中定义的接口(API)。
Receiver(接收者)
Receiver角色是Command角色执行命令的对象,也可以称其为命令接收者。
Client(请求者)
Client角色负责生成ConcreteCommand角色并分配Receiver角色。
Invoker(发动着)
Invoker角色是开始执行命令的角色,它会调用在Command角色中定义的接口(API)。
解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子
AbstractExpression(抽象表达式)
AbstractExpression角色定义了语法树节点的共同接口(API)。
TerminalExpression(终结符表达式)
TerminalExpression角色对应BNF中的终结符表达式。
NonterminalExpression(非终结符表达式)
NonterminalExpression角色对应BNF中的非终结符表达式。
Context(文脉,上下文)
Context角色为解释器进行语法解析提供了必要的信息
Client(请求者)
为了推导语法树,Client角色会调用TerminalExpression角色和NonterminalExpression角色。