系统框架整理
最近空闲时间喜欢折腾自己的“框架”
其实框架这东西,当你项目实战经验丰富了,自然就形成了框架(除非你自己不整理。。O(∩_∩)O~)
1、流行的框架
目前流行的框架很多,比如:三层、7层、N层、MVC、MVP、MVVM 等等,这里就不具体一一介绍,大家有兴趣可以查一下相关资料,这些框架还是值得大家好好研究的,
否则怎么能够形成自己的框架呢?哈哈
这么多框架的形成,最主要的作用我想还是 系统扩展性
客户的需求是千变万化的,如何快速响应需求、快速扩展需求,就需要框架的支持、设计上的支持,
还有重要的就是 系统快速开发,建立在框架的基础上再开发,显然开发效率提高了,开发成本自然降低(我相信大部分公司是看中这一点的)。
2、整理自己的框架
下面是个人一些看法:
首先框架的底层 大家都知道是数据持久层(就是说 我们系统的数据要保存到哪里?我们要从哪里读取数据?),
其次 我们需要 中间层,该层 负责 系统的业务逻辑数据处理、业务逻辑判断等跟实际业务相关的操作,该层调用持久层接口来保存数据和读取数据
最上层 UI层,负责展示数据,与用户交互,可以直接调用业务逻辑层
好,上面是经典的三层结构,不过 个人认为 我们可以把中间层再拆分为2层,业务逻辑和控制,UI来调用控制层,控制层负责调用业务逻辑,这样我们的
UI就不需要直接调用业务逻辑相关类来做处理了,减少他们2之间的耦合度,当我们业务逻辑发送变化时,只需要修改控制层和业务层,基本与UI层无关
理解几层的关系以后,我们很容易就能画出来系统结构图,下面是我根据目前的结构 画的图:
上面我只画了三层,不过,我在UI层,加上了控制器,而且使用了spring.net 来做IOC,这个看大家需要来选择了
UI层目前使用纯ajax操作,与后台控制层数据采用json传递(其实,当我们纯ajax操作了,前台界面岂不是可以直接html了?就不需要aspx页面了?确实,我前面2个项目都是采用这种方式,看情况还不错,只是开发js工作量增大)
业务逻辑层 处理 业务数据,如:单据新增、修改、删除、逻辑验证等操作
数据持久层 :自己实现 DataCore 并根据DbProvider 来适应不同数据库(具体细节这次就不多说了),并且采用了xml方式来保存sql语句到外部文件
上面的结构图中 还加入了Cache,保存一些常用的数据。。。。
上面只是对框架的简单介绍,当然我们还有很多细节工作需要完善比如各层之间的调用方式、缓存的处理等。。