命令数据解析与构建模式
2012-05-23 07:44:20 来源:WEB开发网核心提示:AbstractSubCommand子命令声明,实现ICommand接口,命令数据解析与构建模式(2),每个命令的不同版本都会作为该命令的子命令进行实现,其子命令需要继承子命令抽象类;AbstractProtocol通信协议抽象类,从而使构建符合版本要求的命令数据变得方便灵活,而且因为“AbstractPr
AbstractSubCommand子命令声明,实现ICommand接口,每个命令的不同版本都会作为该命令的子命令进行实现,其子命令需要继承子命令抽象类;
AbstractProtocol通信协议抽象类,实现接口ICommand接口,每个版本的协议实现需要继承此抽象类;
此结构图中采用的设计模式有“命令模式”、“职责链模式”与“装饰模式”,其中“命令模式”通过“AbstractSubCommand”与“AbstractCommand”的实现与定义可以看出,通过命令模式可以将指令与行为进行很好的关联;“职责链模式”则体现在“AbstractProtocol”与“AbstractCommand”的实现,采用职责链的目的是对老版本的命令与协议进行兼容,因为在业务实现的时候系统够很方便的从高版本的实现遍历到低版本的实现,不仅如此通过“职责链模式”可以很方便的实现版本升级和扩展;“装饰模式”则体现在“AbstractProtocol”与“ICommand”之间的继承与聚合关系上面,通过“装饰模式”系统可以将不同版本的协议与具体的命令进行动态的组合,从而使构建符合版本要求的命令数据变得方便灵活,而且因为“AbstractProtocol”继承自“ICommand”,所以在客户代码在使用的时候只需要通过此接口就可以获取到符合要求的命令数据。
代码范例
AbstractProtocol通信协议抽象类,实现接口ICommand接口,每个版本的协议实现需要继承此抽象类;
此结构图中采用的设计模式有“命令模式”、“职责链模式”与“装饰模式”,其中“命令模式”通过“AbstractSubCommand”与“AbstractCommand”的实现与定义可以看出,通过命令模式可以将指令与行为进行很好的关联;“职责链模式”则体现在“AbstractProtocol”与“AbstractCommand”的实现,采用职责链的目的是对老版本的命令与协议进行兼容,因为在业务实现的时候系统够很方便的从高版本的实现遍历到低版本的实现,不仅如此通过“职责链模式”可以很方便的实现版本升级和扩展;“装饰模式”则体现在“AbstractProtocol”与“ICommand”之间的继承与聚合关系上面,通过“装饰模式”系统可以将不同版本的协议与具体的命令进行动态的组合,从而使构建符合版本要求的命令数据变得方便灵活,而且因为“AbstractProtocol”继承自“ICommand”,所以在客户代码在使用的时候只需要通过此接口就可以获取到符合要求的命令数据。
代码范例
更多精彩
赞助商链接