最近在作一图(GIS)文(MIS)一体化办公系统的架构,在这里将其架构设计写出来,供大家板砖板砖。系统采用DotNet作为其开发语言,C/S结构,分多层开发模式。以下部分为系统在进行详细分析前所作的架构。
一、大框架
三层结构,界面层,逻辑层,数据层。其中界面层命名为:UI,逻辑层又分为几层,业务外观(BusinessFacadeProjects)、业务规则(BusinessRuleProjects)、数据访问(DataAccessProjects)三层,其实算起来,系统已经不是严格的三层模式了,已经算作是多层系统了。
设计思想说明:界面层与业务外观层进入数据交互,业务外观允许对业务规则或者数据访问层进行数据交互,业务规则进允许对数据访问层进行交互。也就是说用户所对界面进行的所有操作,都先通过业务外观层进入,不管逻辑层如何处理,最后都是通过数据访问层与数据库进行交互,同理,不管要从数据库取任何数据,先通过数据访问层再经过逻辑层的处理,再从业务外观层“丢”给界面层。为何如此设计?多层架构思想在这里就不多说了,本人在这里考虑的是C/S与B/S的统一,各种数据库的统一,例如,如果我的系统是C/S,我想改为B/S,那么由于有业务外观层统一为数据“入口”,那么我要改的东西仅仅是添加B/S界面层的代码;又,如果你把你的数据库从Sql Server改为Oracle,那么你只要导入数据库,然后改一下数据访问层的代码,就可以了,当然了,这里的前提是你的所有Sql语句都得写在数据访问层上。
二、层架设
1.界面层:这个没有什么好说的,UI就是一个项目(工程?包?)管它怎么叫,反正编译出来就一Exe文件。
2.业务外观:为了方便起见,在引用的时候只要引用一个则可,所以就一个工程BusinessFacade,当然里面你可以包含多个类,然后在UI里面using或者Import。
3.业务规则:这里分多个工程,一个为数据处理,一个为工作流引擎,一个为字符处理,另一个为项目规则定义。
数据处理我们命名为DataOption,这里的意思是只要是与数据有关的,且要进行相应处理的,我们就先经过这里处理一下。
工作流引擎命