一种精妙的系统架构设计思想
2007-09-03 14:25
232 查看
上次看到那两老外写的APS支撑系统中,在持久层做一个通用接口类,然后使用不同的数据库类型的时候,就来实现这个接口类,感觉这样着实不错。屏蔽了系统在不同的数据库之间转换的时候的差异性,把应用系统在不同的数据库之间切换带来的开销最小化。
当时还看到一个在业务逻辑层调用DAL层的适合,是将实例化了的DAL类向上转化成为接口类,然后调用接口类里面的方法。当时只是觉得奇怪,并没有体会到这样些的目的所在。
今天参考了一天PetShop 4.0的架构设计,在看到同样的BLL和DAL层设计和两层之间耦合关系以及调用的时候,忽然发现这个设计思想相当的精妙。
在每两层之间,BLL层只是和DAL层最上面的接口发生关系,而一点也不管DAL层在不同数据库方面是如何实现的。而DAL层在实现了对一个具体的数据库的操作实例以后,首先需要转化成为DAL层最上面的接口类型才能被访问和调用。
这样就实现了各个层之间的松散的耦合。
同时,对于第一段所描述的设计思想的扩充,在业务逻辑的处理中,如果存在业务操作的多样化,或者是今后可能的变化,均应利用抽象的原理。或者使用接口,或者使用抽象类,从而脱离对具体业务的依赖。
当时还看到一个在业务逻辑层调用DAL层的适合,是将实例化了的DAL类向上转化成为接口类,然后调用接口类里面的方法。当时只是觉得奇怪,并没有体会到这样些的目的所在。
今天参考了一天PetShop 4.0的架构设计,在看到同样的BLL和DAL层设计和两层之间耦合关系以及调用的时候,忽然发现这个设计思想相当的精妙。
在每两层之间,BLL层只是和DAL层最上面的接口发生关系,而一点也不管DAL层在不同数据库方面是如何实现的。而DAL层在实现了对一个具体的数据库的操作实例以后,首先需要转化成为DAL层最上面的接口类型才能被访问和调用。
这样就实现了各个层之间的松散的耦合。
同时,对于第一段所描述的设计思想的扩充,在业务逻辑的处理中,如果存在业务操作的多样化,或者是今后可能的变化,均应利用抽象的原理。或者使用接口,或者使用抽象类,从而脱离对具体业务的依赖。
相关文章推荐
- 一种精妙的系统架构设计思想
- 关于软件系统架构设计的一些新思想
- 跨国际链路的数据服务系统架构设计的一种实现思路
- 系统架构设计时的一些指导思想
- 设计一种100%可用性服务的架构--适用于任何系统(B/S,C/S)[中英文版本]
- 同事整理的对于系统架构设计时的一些指导思想
- 一种基于reSIProcate的gb28181接入系统架构设计
- 一种非常精妙的设计思想
- 系统分析与架构设计的随想与面向集合的分析设计思想(SOA & SOD)
- 承载千万级并发的分布式系统架构设计思想
- Bitcask存储系统架构设计思想
- 架构设计的指导思想
- 事务与系统架构设计
- atitit.系统架构图 的设计 与工具 attilax总结
- 一个信息可视化Demo的设计(一):系统架构
- Web服务搜索与执行引擎(四)——基于(三)的系统架构设计
- 系统架构师-基础到企业应用架构-系统设计规范与原则[上篇] 推荐
- 企业级系统架构设计-关注官方微博-EntLib开源电子商务平台
- 架构设计:系统间通信(6)——IO通信模型和Netty 上篇
- 一个信息可视化Demo的设计(一):系统架构