日期:2014-05-20  浏览次数:20888 次

请教个设计模式的问题
目前正在进行设备通讯自动服务程序的开发
硬件设备包含 考勤、门禁、消费 等
通讯指令包含 签到 心跳 签退 等
最初拿到通讯协议认为指令是统一的,前期设备的处理也正常。(通过指令处理工厂实现,工厂参数为枚举类型的指令)。现通讯协议有所更改,不同设备的不同指令值可能会冲突,同时还要考虑不同设备指令的版本号的处理。请问该采用哪种或那些设计模式最合适?

------解决方案--------------------
Strategy?
------解决方案--------------------
不同设备的不同指令值可能会冲突,同时还要考虑不同设备指令的版本号的处理。

这需要构造状态机了。
------解决方案--------------------
别整那么复杂了,忘掉什么设计模式、状态机吧,只要对象结构合理,就很容易实现,附图参考
------解决方案--------------------
抽象工厂,按设备类型对应具体的指令处理工厂,这些工厂继承自一个基类工厂,基类工厂负责通用指令处理。