Kil*_*are 6 oop design-patterns serial-port
我有一个winform工具,使用串行端口与硬件连接.
串行端口用于向硬件发送命令,该命令将确认命令并有时返回数据.
要完成任务,需要以定义的顺序将多个命令发送到硬件.
我已使用switch语句成功实现了该工具来控制命令的发送.然而,虽然这有效,但我不禁想到有更好的,更多的OO方式这样做 - 是吗?
目前的实施如下:
每种情况都是需要发送到硬件的命令.Send方法传递一个调用方法和下一步的ID - 如果命令发送成功,将返回该ID.
等等
MessageID nextStep = MessageID.IMS;
while (nextStep != MessageID.Stop)
{
switch (nextStep)
{
case MessageID.ISS:
nextStep = Send( new ISS_StartSession(), MessageID.IE386);
RaiseProgressEvent(10); //percentage complete
break;
case MessageID.IE386:
nextStep = Send( new IE386_SetDirection(Direction.BOTH), MessageID.IE378);
RaiseProgressEvent(20);
break;
//etc
case MessageID.Error:
HandleError(); //abort task if necessary
break;
}
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗..?
我应该看一下众所周知的设计模式吗?