这两天看了一下PetShop4.0,这个实例是Microsoft针对Sql Server 2005 以及Visual Studio 2005发布的。
其中运用了一些新的技术。缓存数据与数据库的更新同步,新的Web控件,以及母版的应用,异步通讯,消息队列。这些都是很实用的技术,但是我所关心的只是它的框架。我将自己的理解画了一幅图,希望大家看了能够给予好的意见。PetShop中大量运用了抽象工厂模式,我只将操作数据库表的类图以及缓存类图贴了出来。
1、数据库操作:TableSqlServerSql、TableOracleSql实现接口对数据库直接进行操作,操作对象是针对将数据库表转换成Model表对象,数据库表操作类工厂通过配置文件动态加载程序集。
2、缓存操作:通过在配置文件中配置缓存(有选择的缓存数据库表),以及在Sql Server中注册缓存服务来支持数据缓存,这样能够方便的达到数据库与缓存数据的同步。第一次查询数据的时候将数据写入缓存,以后读取的时候就从缓存中读取,而当数据库变化的时候,自动从缓存中清除指定的缓存数据。这样我们只要通过键值判断缓存是否为空就可以了。