目前,团队开发人员在开发项目时,大多都使用分层开发架构设计,最常见的就是三层架构,目的在于使各个层之间只能够被它相邻的层产生影响,但是这个限制常常在使用多层开发的时候被违反,这对系统的开发是有害的。三层架构按驱动模式可划分三种:数据层驱动模式、陈述层驱动模式和隔离驱动模式,其中隔离驱动模式开发最为重要。北京网站建设通过三种模式的对比,介绍隔离驱动模式的重要性。
数据层驱动模式
所谓的数据层驱动模式,就是先设计数据层,陈述层围绕数据层展开,一旦完成了数据层和陈述层,业务层就围绕数据层展开。因为陈述层是围绕数据层展开的,这将会使陈述层中的约束不准确,并且限制了业务层的变更。由于业务层受到限制,一些简单变化可以通过SQL查询和存储过程来实现。
这种模式非常的普遍,它和传统的客户服务端开发相似,并且是围绕已经存在的数据库设计的。由于陈述层是围绕数据层设计的,它常常是凭直觉模仿数据层的实际结构。
常常存在一种额外的反馈循环在陈述层到数据之间,当在设计陈述层不容易实现的时候常常会去修改数据层,也就形成了这种反馈循环。开发者请求修改数据库方便陈述层的开发,但是对数据层的设计却是有害的。这种改变是人为的而没考虑到其他需求的限制。这种修改经常会违反至少损害数据的特有规则,导致不必要的数据冗余和数据的非标准化。
陈述层驱动模式
陈述层驱动模式是数据层围绕陈述层展开的。业务层的完成一般是通过简单的SQL查询和很少的变化或者隔离。由于数据库的设计是为了陈述层的方便,并非从数据层设计方面考虑,所以数据库的设计在性能上通常很低。陈述层驱动模式设计图如图1.6所示。
隔离驱动模式
用隔离驱动模式设计,陈述层和数据层被独立的开发,常常是平行开发。这两层在设计时没有任何的相互干扰,所以不会存在人为的约束和有害的设计元素。当两层都设计完成后,再设计业务层。业务层的责任就是在没有对数据层和陈述层的需求变化的基础上完成所有的转换。陈述层驱动模式设计。
因为现在陈述层和数据层是完全独立的,当业务层需求改变的时候,陈述层和数据层都可以做相应的修改而不影响对方。改变两个在物理上不相邻的层不会直接对其他层产生影响或发生冲突。这就允许数据层结构的调整或者陈述层根据用户的需求做相应的变化,而不需要系统做大的调整或者修改。
下面是3种驱动模式的对比
数据层驱动模式 数据库:(1)很容易设计(2)产生负面影响(3)很难改变数据层,因为它和陈述层紧密绑定。
业务需求:常常不能适应业务需求变化。
用户界面:是围绕数据层而不是围绕用户,不易修改。
扩展性:通常可扩张,但是常常在用户界面需要比较多的重写以满足数据库的结构,同时数据库可能需要存
储一些冗余的字段。
陈述层驱动模式 数据库:(1)数据库设计很糟(2)严重的不规范化设计(3)其他系统不易使用(4)很难改变数
据层,由于它跟陈述层紧密绑定。
业务需求:常常适应业务需求变化。
用户界面:适合用户扩展界面。
扩展性:完整性的扩张很难,常常只有通过“剪切,粘贴”函数来实现。
隔离驱动模式 数据库:(1)优化设计(2)集中设计数据库,陈述层对它影响很小。
业务需求:适应需求变化。
用户界面:适合用户扩展界面。
扩展性:很容易扩展。
北京网站建设 北京网页设计 网站制作(www.bjycxf.com)