我正在编写一个 UI 测试/机器人程序。该程序模拟一个人的行为。使用 FSM:当前窗口由状态表示,单击窗口按钮由转换。程序分析当前窗口并执行下一个转换。这里的问题。它可能会出现一个带有信息的意外窗口。一种解决方案是为每个状态定义一个转换,它描述了意外的窗口。
在启动程序之前,您需要选择所需的行为。因此,对于 FSM,我应该根据所选行为使用另一个过渡。Q1:你能用OOP方法解决这个问题吗?
我试图编写以下实现。每个状态都由一个类表示。在每个状态类中,都会调用一个重载方法,该方法决定应该选择下一个状态。我选择的语言是 C#。
Q2:我可以使用哪些编程方法来替代 FSM?