有人做过基于状态机的程序架构嘛!交流交流
最近的一个运动控制项目,应用比较复杂。
特点如下:
1.数据比较多而且零散
2.无法清晰的将系统划分成独立的模块,这个和认识无关,控制系统里有控制耦合的概念,学控制的人知道
但是呢又需要系统中的模块有些时候需要独立处理,有些时候还必须从耦合的角度去处理多个模块
3.程式前一时刻的状态数据和后一时刻的数据相关,正常情况下我们前面执行的数据影响的是后面的,但是这个正好反过来了
前面数据处理还需要知道下一个数据是什么,但是这个时候程序还没有执行到下一条,所以还不知道是什么数据呢!呵呵所以这里肯定需要后台去处理一些事情。比如说我控制电机转180度,再反转90度,有可能要求电机转到135度的时候就开始减速了,所以有可能会有这样的要求:
move(a1,180);
move(a1,-90);
本质上并不是开线程就这么简单了,如果用通用的方法去做是不行的,因为要求是必须执行完第一句才执行第二句,这与现实相符
===========================================================
经过这些天我自己捉摸,始终无法想出很清晰很简单的办法,但是后来发现和OPENGL的需求很像,这个的确是可以用状态机来描述,但问题是我以前没有做过像状态机这种应用程序的框架,而且一般情况下我们要么是面向配方数据,要么是面对功能要求这种既要求配方数据又要求功能的的确是有些复杂
而且我怎么感觉设计模式里的东西怎么和状态机不靠边啊,我甚至硬套都套不进来啊
=====================================================
来大家谈谈想法