我正在寻找一种方法来高级构建我开发的软件(对于Android,但我认为这在这里并不重要)。我的软件由来自传感器,用户交互,远程消息和计时器事件的事件驱动。我担心它变得一团糟,我无法监督哪些输入组合可能导致问题。
状态机会很好,但似乎有太多可能的状态。作为一个新手,我确实在这里和那里实现了设计模式。但我对整体设计感到迷茫。如何为流式传输到我的应用程序中的所有“事件”提供结构?
答案 0 :(得分:2)
“太多州”评论只是你自己观察的反映,这是一团糟。
在一个好的设计中,您将在多个独立的有限状态机中分解系统。可以通过4状态和5状态系统更好地表示20状态系统。
例如,在您的情况下,您可能能够将所有输入重构为单个输入队列。此队列将具有自己的状态(空,部分满,完整),与进一步发生的处理无关。
答案 1 :(得分:1)
您可能想了解一下机器人软件如何处理这个问题。机器人面临着类似的挑战。