經過對這個項目的分析我覺得有幾點值得我們學習和借鑑
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項目的淺談
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.