InfoPath最基本的设计思想---MVC
研究Infopath有一段时间,发现Infopath的最朴实的设计思想就是从开发模式---MVC演化而来的,当然我这里只是就Infopath最基本设计思想而言的。Infopath庞大的功能集合,不可能仅仅一个MVC就能表述的。
其实Infopath最基本的信息仅包括数据信息、数据描述信息、视图信息、控制信息,我们将一个Infopath的表单提取出来会发现有两个xml扩展名的文件,一个或者多个xsd为扩展名的文件,一个或多个xsl为扩展名的文件,一个或多个js的脚本,最重要的还有一个xsf文件。对这些文件归类:xml,xsd文件属于模型信息也就是M,xsl属于视图信息也就是V,xsf文件和js就控制信息即C。
我们仔细分析Infopath朴实的原理,延伸到我们平时开发项目的过程中,我们会发现很多项目都逃不过这个最为简单的原理,特别是一些MIS、OA之类的系统。一般来说,MIS中一个功能或者一个应用都是由界面、数据、验证和交互(有些还有工作流引擎来控制业务流程)这几个部分组成的。抽象一下,界面无非是Win form和Web Form,数据无非是XML或者数据库中读出的数据集,验证无非就是一些基于数据和业务逻辑的验证,工作流引擎是一个相对独立的,通过流程变量等可以和数据信息、界面信息较好的结合。如果我们将这些元素抽象出较多的大众化的特点,建立一个数据架构设计器,界面设计器,工作流引擎,然后再利用这些工具来构造我们的应用,我想开发效率就会有极大的提高。前一阵,我和我的同事们基于这个思想完成了这三个工具的初期版本,并且利用它们完成了一个编目系统。我会将最近的一些开发心得,逐渐的写到Blog上。
其实Infopath最基本的信息仅包括数据信息、数据描述信息、视图信息、控制信息,我们将一个Infopath的表单提取出来会发现有两个xml扩展名的文件,一个或者多个xsd为扩展名的文件,一个或多个xsl为扩展名的文件,一个或多个js的脚本,最重要的还有一个xsf文件。对这些文件归类:xml,xsd文件属于模型信息也就是M,xsl属于视图信息也就是V,xsf文件和js就控制信息即C。
我们仔细分析Infopath朴实的原理,延伸到我们平时开发项目的过程中,我们会发现很多项目都逃不过这个最为简单的原理,特别是一些MIS、OA之类的系统。一般来说,MIS中一个功能或者一个应用都是由界面、数据、验证和交互(有些还有工作流引擎来控制业务流程)这几个部分组成的。抽象一下,界面无非是Win form和Web Form,数据无非是XML或者数据库中读出的数据集,验证无非就是一些基于数据和业务逻辑的验证,工作流引擎是一个相对独立的,通过流程变量等可以和数据信息、界面信息较好的结合。如果我们将这些元素抽象出较多的大众化的特点,建立一个数据架构设计器,界面设计器,工作流引擎,然后再利用这些工具来构造我们的应用,我想开发效率就会有极大的提高。前一阵,我和我的同事们基于这个思想完成了这三个工具的初期版本,并且利用它们完成了一个编目系统。我会将最近的一些开发心得,逐渐的写到Blog上。