本文共 1754 字,大约阅读时间需要 5 分钟。
命令模式(Command Pattern)是一种设计模式,用于将请求分解为一系列命令,分别由对应的接收者执行。这种模式将请求方(Invoker)和执行方(Receiver)分开,使得系统更加灵活和可扩展。
在项目管理中,项目经理作为调用者(Invoker),接收客户的命令并分配给相应的组执行。每个组(如需求组、美工组、代码组)作为接收者(Receiver),负责执行特定的操作。
// 命令的抽象类public abstract class Command { // 定义三个组 protected RequirementGroup rg = new RequirementGroup(); protected PageGroup pg = new PageGroup(); protected CodeGroup cg = new CodeGroup(); // 每个命令都要实现的方法 public abstract void execute();}// 增加一项需求的命令public class AddRequirementCommand extends Command { @Override public void execute() { rg.find(); rg.add(); pg.add(); cg.add(); rg.plan(); }}// 删除一个页面的命令public class DeletePageCommand extends Command { @Override public void execute() { pg.find(); rg.delete(); cg.delete(); pg.plan(); }}// 项目接头人(调用者)public class Invoker { private Command command; // 接收命令 public void setCommand(Command command) { this.command = command; } // 执行命令 public void action() { command.execute(); }}// 客户端public class Client { public static void main(String[] args) { Invoker xiaoSan = new Invoker(); // 接头人 Command command = new AddRequirementCommand(); xiaoSan.setCommand(command); xiaoSan.action(); // 同样可以创建DeletePageCommand并执行 }}
命令模式通过将操作封装为命令,使系统设计更加灵活和可维护。它将请求方和执行方分开,提升了系统的扩展性和可维护性,特别适用于需要频繁修改和撤销操作的项目管理场景。
转载地址:http://iycg.baihongyu.com/