天天看點

PET SHOP 4.0 初學者分析(項目分解)

我一共把系統分了五大塊,最後一塊命名為"其他",

緩存依賴相關

CacheDependencyFactory    緩存依賴類的工廠類 

ICacheDependency             緩存依賴類接口 

TableCacheDependency      緩存依賴實作類

資料相關

DALFactory                        資料層的抽象工廠 

IDAL                                 資料通路層接口定義 

SQLServerDAL                   SQLServer資料通路層 

OracleDAL                         Oracle資料通路層 

DBUtility                            資料庫通路元件基礎類

消息相關

IBLLStrategy                     同步/異步處理政策接口(實作在bll根據配置反射選擇) 

MessagingFactory              異時處理消息隊列的抽象工廠 

IMessaging                       異時處理消息隊列接口定義 

MSMQMessaging                異時處理消息隊列的實作

OrderProcessor                 背景處理程序,處理訂單隊列

profile相關

Profile                          Profile的資料通路層 

ProfileDALFactory          ProfileDAL的工廠類(反射建立ProfileDAL) 

IProfileDAL                   Profile的資料通路層接口定義 

OracleProfileDAL           Oracle的Profile Providers 做使用者狀态管理 

SQLProfileDAL              SQL Server 的Profile Providers 做使用者狀态管理

其他

Membership                 Membership認證和授權管理 

WEB                           表示層 

Model                          業務實體 

BLL                             業務邏輯層

下面解釋一下各個大塊的作用

1.緩存依賴相關

緩存依賴在petshop4.0中就是把頁面輸出緩存和資料庫中的表關聯起來,如果資料庫中的表有任何改動的話,緩存失效。

緩存的作用就相當大了,再加上個緩存依賴作用就相當“暴力”了。具體強到哪裡,等我以後分析了這塊就明白了

2.profile相關

有個前輩在介紹profile的時候說:以人為本的profile.作用是讓使用者可以做一些個性化的選擇.比如讓使用者選擇所喜歡的網站風格,讓使用者選擇是否彈出消息提醒等,

在petshop4.0中主要是記錄使用者的購物車資訊和意向清單.

profile設定分為針對登陸使用者和非登陸使用者的.具體的設定辦法将在後面分析

3.消息相關

消息隊列在企業級應用程式中非常多見,以petshop4.0為例,消息隊列的好處

1.如果背景訂單資料庫出現故障,訂單就全部插入到消息隊列當中,等資料庫恢複之後立即處理他們.

2.因為涉及到windows控制台程式,是以多線程處理訂單,就非常容易搞定

3.因為是異步,是以對系統的性能有很大提升

消息相關這一塊我準備放在最後來講

資料通路層和其他的就先不說了還是看下面的分塊分析吧