一种精妙的系统架构设计思想

上次看到那两老外写的APS支撑系统中,在持久层做一个通用接口类,然后使用不同的数据库类型的时候,就来实现这个接口类,感觉这样着实不错。屏蔽了系统在不同的数据库之间转换的时候的差异性,把应用系统在不同的数据库之间切换带来的开销最小化。
当时还看到一个在业务逻辑层调用DAL层的适合,是将实例化了的DAL类向上转化成为接口类,然后调用接口类里面的方法。当时只是觉得奇怪,并没有体会到这样些的目的所在。
今天参考了一天PetShop 4.0的架构设计,在看到同样的BLL和DAL层设计和两层之间耦合关系以及调用的时候,忽然发现这个设计思想相当的精妙。
在每两层之间,BLL层只是和DAL层最上面的接口发生关系,而一点也不管DAL层在不同数据库方面是如何实现的。而DAL层在实现了对一个具体的数据库的操作实例以后,首先需要转化成为DAL层最上面的接口类型才能被访问和调用。
这样就实现了各个层之间的松散的耦合。
同时,对于第一段所描述的设计思想的扩充,在业务逻辑的处理中,如果存在业务操作的多样化,或者是今后可能的变化,均应利用抽象的原理。或者使用接口,或者使用抽象类,从而脱离对具体业务的依赖。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值