一个信息处理过程,可以通过归纳成一个抽象的过程:
源<解析>结构化对象<结构化处理>结构化对象<合并>目标
这里结构化是相对的,是指相对于研究的范围而言,广义上讲,源和目标也是对象。
如果把源理解成输入,目标理解成输出,那就是个IPO模型
这里要强调的是一个抽象归纳,解析过程和合并过程是一个逆过程,起到一个结构化适配器的作用。
展开一下:
解析 | 合并 |
对键盘录入的解析 | 到控制太的输出 |
对数据库信息的提取 | 修改的信息保存到数据库 |
例如我们要处理一段XML,然后再输出到XML就是这样一个典型过程
一个Servlet的处理,也可以认为是这样一个过程
包括人之间的自然语言对话,从接收一句话,然后理解话的意思,然后,回答,也是这个过程
一个智能活动,都可以这样去分解一下
结构化的对象处理内部,也是一个一个的相对独立的这样的环节
处理过程只是不断地在重复着这样的过程而已。
页面流本旨上也是这样的一个一个过程:一个页面接受了信息<页面把输入转换成Form>结构化的Form信息<对Form的处理,构造一个输出页面>非结构化的输出页面
所以,在编一段程序的时候,或者在整理一个过程的时候,要告诉自己:这一步是在努力做结构化的工作,这一步是在结构化范围内思考,这一步是在做合并,这样容易让自己保持清晰的认识。
在梳理业务需求的时候,一个事件流的描述,实际上也是这么个过程,输入是什么,信息如何的变换,如何的处理,最后如何的输出,中间有哪些可能的其他情况,造成分支。
这个想法可以称为:ITPMO模型。可以使P更加的可复用。