推荐的一种多层设计模式

                                      

介绍:

   

在现在的开发当中,越来越多的开发都使用的分层开发模式,最常见的就是三层开发模式,分层设计的目的在于使各个层之间只能够被它相邻的层产生影响,但是这个限制常常在使用多层开发的时候被违反,这对系统的开发是有害的,在这篇文章我主要讨论为什么层的隔离是如此重要的。下面馆将具体对这三种流程进行说明并比较。

数据层驱动模式

 

 所谓数据层驱动模式,就是先设计数据层,陈述层围绕数据层展开,一旦完成了数据成和陈述层,业务层就围绕数据层展开,因为陈述层是围绕数据层展开的。这将会使陈述层中的约束不准确,并且限制了业务层的变更。由于业务层收到限制,一些的简单变化可以通过SQL查询和存储过程来实现。

这种模式非常的普遍,它和传统的客户服务端开发相似,并且是围绕已经存在的数据库设计的。由于陈述层是围绕数据层设计的,它常常是凭直觉模仿数据层的实际结构

    常常存在一种额外的反馈循环在陈述层到数据之间,当在设计陈述层不容易实现的时候常常会去修改数据层,也就形成了这种反馈循环。开发者请求修改数据库方便陈述层的开发,但是对数据层的设计却是有害的。这种该变是人为的而没考虑到其他需求的限制。这种修改经常会违反至少损害数据的特有规则,导致不必要的数据冗余和数据的非标准化。

     

  陈述层驱动模式

 

    陈述层驱动模式是数据层围绕陈述层展开。业务层的完成一般是通过简单的SQL查询和很少的变化或者隔离。由于数据库的设计是为了陈述层的方便,而非从数据层设计方面考虑,所以数据库的设计在性能上通常很糟糕。

 

 隔离驱动模式

   用隔离驱动模式设计,陈述层和数据层被独立的开发,常常是平行开发。这两层被设计没有任何的相互干扰,所以不会存在人为的约束和有害的设计元素。当两层都设计好了后,再设计业务层,业务层的责任就是在没有对数据层和陈述层的需求变化的基础上完成所有的转换。

   因为现在陈述层和数据层是完全独立的,当业务层需求改变的时候,他们都可以做相应的修改而不影响对方。 改变两个在物理上不相邻的层不会直接对其他层产生响或发生冲突。这就允许数据层结构的调整或者陈述层根据用户的需求做相应的变化,而不需要系统做大的调整或者修改  。

   

 

数据层驱动模式

陈述层驱动模式

隔离驱动模式

数据库

  • 很容易设计。
  • 一些负面折中。
  • 很难数据层改变,因为它和陈述层紧密邦定
  •   数据库设计很糟
  •   严重的不规范化设计
  •   其他系统不易使用
  • 很难改变数据层由于它很陈述层紧密邦定
  •   能很好的是设计
  •   集中设计数据库,陈述层对它影响很小。

 

业务需求

常常不能适应业务需求变化

常常适应业务需求变化

适应需求变化

用户界面

是围绕数据层而不是围绕用户,不易修改。

适和用户扩展界面

适合用户界面扩展

扩展性

通常可扩张,但是在常常在用户界面需要比较多的重写以满足数据库的结构,同时数据库可能需要存储一些冗余的字段。

完整性的扩张很难,常常只有通过“剪切,粘贴”函数来实现

很容易扩展

          综上所述,很容易看出隔离驱动模式的优点,如有可能的话,这样设计可以极大的提高程序的扩展性。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
Java设计模式是指在软件开发中经常使用的一些通用的解决问题的方式和思想。它们是被广泛接受的、可重用的、可扩展的模板,用于解决软件设计中经常遇到的问题。Java设计模式是从实践中总结出来的,它们为软件开发提供了一种可靠的方法,可以减少代码的重复性,增强代码的可读性和可维护性。 下面是常用的Java设计模式: 1. 工厂模式(Factory Pattern):工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建对象而不用暴露创建逻辑给客户端。 2. 单例模式(Singleton Pattern):单例模式是一种创建型模式,它保证一个类只有一个实例,并提供一个全局访问点。 3. 建造者模式(Builder Pattern):建造者模式是一种创建型模式,它将对象的构造逻辑与表示分离,使得同样的构建过程可以创建不同的表示。 4. 原型模式(Prototype Pattern):原型模式是一种创建型模式,它允许通过复制已有对象来创建新对象,而不是通过实例化。 5. 适配器模式(Adapter Pattern):适配器模式是一种结构型模式,它允许将不兼容的对象包装成兼容的对象,以便于不同类之间的交互。 6. 桥接模式(Bridge Pattern):桥接模式是一种结构型模式,它将抽象和实现分离,使得它们可以独立地变化。它可以用于处理多层继承结构问题。 7. 装饰器模式(Decorator Pattern):装饰器模式是一种结构型模式,它允许在运行时动态地添加额外的行为或功能到对象上,而不需要修改现有代码。 8. 组合模式(Composite Pattern):组合模式是一种结构型模式,它将对象组合成树形结构,以表示“部分-整体”的层次结构。它可以让客户端以一致的方式对待单个对象和组合对象。 9. 外观模式(Facade Pattern):外观模式是一种结构型模式,它提供了一个统一的接口,以简化一组复杂的子系统。它隐藏了子系统的复杂性,并将其封装在一个单一的对象中。 10. 代理模式(Proxy Pattern):代理模式是一种结构型模式,它为其他对象提供一种代理以控制对这个对象的访问。它可以用于实现远程代理、虚拟代理、保护代理等。 以上是常用的Java设计模式,它们都是从实践中总结出来的经典模式,可以帮助开发者更好地设计和开发软件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值