常说的设计模式是23种设计模式,分为3大类:
一、创建型模式5种:工厂方法、抽象工厂、单例、建造者、原型
二、结构型模式7种:适配器、代理、桥接、装饰者、外观、享元、组合
三、行为型模式11种:模板方法、解释器、策略、观察者、迭代器、职责链、命令、备忘录、状态、访问者、中介者。
上次咱们说了“职责链模式”,今天咱们来说“命令模式”。
“命令模式”在于命令的体现,也就是对命令的处理。将命令的发出者和命令的执行者分开。
先有命令的接口结构:
命令的执行者:
具体命令是接口“Command”的实现类:
命令的发起者:
应用:
命令发起者“Invoker对象”
设定好命令“ConcreteCommand对象”
指定执行者“Receive对象”
执行命令方法“action”
下面来设定一个场景:
《三国演义》中有一个神级人物诸葛亮,在生前给杨仪、马岱下的命令“诸葛亮死后,魏延一旦谋反,将其斩杀。”
诸葛亮指定的计划:
计划A执行者杨仪:
计划B执行者马岱:
执行目标魏延:
应用代码:
计划A由杨仪执行,针对魏延
计划B由马岱执行,针对魏延
最终魏延被马岱砍头