gpt4 book ai didi

oop - 哪种设计模式最适合用于控制一系列步骤?

转载 作者:行者123 更新时间:2023-12-04 14:51:41 25 4
gpt4 key购买 nike

我有一个使用串行端口与硬件接口(interface)的 winform 工具。

串行端口用于向硬件发送命令,硬件将确认命令并有时返回数据。

为了完成一项任务,需要以定义的顺序将几个命令发送到硬件。

我已经使用 switch 语句成功实现了该工具来控制命令的发送。然而,虽然这可行,但我不禁想到有更好、更面向对象的方式来做这件事——有吗?

当前的实现如下:

每个案例都是一个需要发送到硬件的命令。
发送方法传递一个要调用的方法和下一步的 ID - 如果命令发送成功,将返回该 ID。

  • 工具将向硬件发送启动 session 命令。
  • 硬件确认命令。
  • 工具向硬件发送设置方向命令。
  • 硬件将确认命令。

  • 等等
    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;
    }
    }

    有一个更好的方法吗..?

    我应该看看一个众所周知的设计模式吗?

    最佳答案

    看起来像一个状态机。网上有很多关于他们的资源。看一看。

    http://en.wikipedia.org/wiki/Abstract_state_machines

    关于oop - 哪种设计模式最适合用于控制一系列步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4748106/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com