Web系统的三层架构()
三层架构的种类
目前团队开发人员在开发项目时大多都使用分层开发架构设计最常见的就是三层架构工作模式如图所示目的在于使各个层之间只能够被它相邻的层所影响但是在使用多层开发的时候常常违反这个限制这对系统的开发是有害的三层架构按驱动模式可分为三种数据层驱动模式陈述层驱动模式隔离驱动模式其中隔离驱动模式开发最为重要
图 工作模式图
数据层驱动模式
所谓数据层驱动模式就是先设计数据层陈述层围绕数据层展开一旦完成了数据层和陈述层业务层就围绕数据层展开因为陈述层是围绕数据层展开的这将会使陈述层中的约束不准确并且限制了业务层的变更由于业务层受到限制一些简单变化可以通过SQL查询和存储过程来实现数据层驱动模式设计图如图所示
图 数据层驱动模式设计
这种模式非常普遍它和传统的客户服务端开发相似并且是围绕已经存在的数据库设计的由于陈述层是围绕数据层设计的它常常是凭直觉模仿数据层的实际结构
在陈述层与数据层之间常常存在一种额外的反馈循环即在设计陈述层不容易实现的时候会去修改数据层也就形成了这种反馈循环开发者请求修改数据库以便于陈述层的开发但是这对数据层的设计却是有害的这种改变是人为的而没考虑到其他需求的限制这种修改经常会违反或损害数据的特有规则导致不必要的数据冗余和数据的非标准化
陈述层驱动模式
陈述层驱动模式是数据层围绕陈述层展开业务层的完成一般是通过简单的SQL查询和很少的变化或者隔离由于数据库的设计围绕陈述层并非从数据层设计方面考虑所以数据库的设计在性能上通常很低陈述层驱动模式设计图如图所示
图 陈述层驱动模式设计
隔离驱动模式
在隔离驱动模式设计中陈述层和数据层被独立开发常常是平行开发这两层在设计时没有任何的相互干扰所以不会存在人为的约束和有害的设计元素当两层都设计完成后再设计业务层业务层的责任就是在没有对数据层和陈述层的需求变化的基础上完成所有的转换
因为陈述层和数据层是完全独立的当业务层需求改变的时候陈述层和数据层都可以做相应的修改而不影响对方改变两个在物理上不相邻的层不会直接对其他层产生影响或发生沖突这就允许数据层结构的调整或者陈述层根据用户的需求做相应的变化而不需要系统做大的调整或者修改隔离驱动模式如图所示表对这种驱动模式进行了对比
图 隔离驱动模式设计
表 种驱动模式对比
综上所述很容易看出隔离驱动模式的优点它可以极大地提高程序的扩展性
返回目录ASPNET开发宝典
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
ASPNET MVC 框架揭秘
Java Web开发详解