经过对这个项目的分析我觉得有几点值得我们学习和借鉴
1.petshop的结构
2.petshop的设计模式
3.依赖注入
4.缓存依赖
5.微软消息队列MSMQ
6.配置管理,权限验证《不是很重要》
========================================================================
一:采用MVC的架构模式
一表示层
二业务逻辑层
三数据库访问层
二:采用的设计模式
抽象工厂模式实现对数据层的访问操作
实现对缓存依赖的操作
实现对消息队列的操作《异步同步插入订单》
外观模式:实现对返回一个缓存依赖的对象,不是访问层接口
代理模式:虽然在这个项目中写到了,但是没有应用上去,可以先理解
三:依赖注入
是用来降低耦合度,提高高内聚
通过反色来动态加载的,需要在web.config中配置
四:缓存依赖
缓存依赖是直接提高网站访问效率的最直接,最有效的方法,怎样才能达到既能及时的缓存,有能及时的更新,微软给我们提高了依赖数据库的缓存依赖
SqlCacheDependency类
首先我们要在数据库上配置好缓存依赖的数据表,在这里就不在说的那么详细了
然后再配置文件中<cacheing>字节中配置好数据库缓存依赖
在接着顶一个一个缓存依赖的接口,用到缓存依赖集合类型 AggregateCacheDependency
在定义相应的数据表类实现它,这里还可加入模板的设计模式我也不一一列出来了
在用定义个缓存依赖的工厂类来调用接口
最后定义一个外观模式在工厂里调用返回一个依赖对象(对象)
注意:在前台页面调用中把缓存依赖添加到cache缓存中形式如:
key关键字,data我们要的数据,cd缓存依赖的对象
Cache.Add(key, data, cd, DateTime.Now.AddHours(categoryTimeout), Cache.NoSlidingExpiration, CacheItemPriority.High, null);
五:微软消息队列MSMQ
1. 消息队列是实现对插入订单的同步或者异步来操作的,最终是通过多线程来实现对数据库的插入操作的
2. 首先顶一个消息队列接口:实现3中方法 一种接收消息的方法,一种具有等待时间的接收消息的方法, 一种发送消息的方法
《不过在此之前先要配置好消息队列》
3.在定义一个基类来完成初始化消息队列,初始化消息队列用到三个参数
消息队列事务类型 MessageQueueTransactionType
消息队列 MessageQueue
等待时间 timeout
4.在定义一个完成消息的操作类既要实现基类,也要实现接口
5.用工厂调用它
6.定义一个控制台应用程序,采用多线程操作最后提交到数据库
六:配置管理,权限验证管理这里就不做说明了
以上只是一个粗谈,具体的,我用word文档做了详细的讲解和说明
PetShop项目的浅谈
最新推荐文章于 2011-06-17 09:48:00 发布