PetShop项目的浅谈

经过对这个项目的分析我觉得有几点值得我们学习和借鉴
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文档做了详细的讲解和说明

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章