小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關于設計模式的問題:這樣的系統(tǒng)應該如何設計?

 alone_star 2007-11-15
對設計模式不是很熟悉,現(xiàn)在碰到一個比較棘手的問題,不知道應該如何設計,請大家?guī)兔匆豢础?

現(xiàn)在有兩種用于快速處理訂單的業(yè)務A、業(yè)務B,分別用于處理訂單A和訂單B,他們的邏輯都是相似的,基本邏輯就是:

(1)初始化業(yè)務的各項基礎數(shù)據(jù)
(2)接受一個訂單,放入到待處理訂單緩沖
(3)從待處理緩沖讀取一個訂單并開始處理,并將處理完的訂單放入到已處理緩沖
(4)定期檢測已處理緩存,當已處理緩沖區(qū)達到一定數(shù)量之后就同步寫入數(shù)據(jù)庫

上述邏輯的設計是考慮到訂單的數(shù)量非常龐大(高峰時段每秒需要接受10~100個訂單),并且訂單發(fā)出后用戶無需等待處理狀態(tài),所有訂單在第二步都是可以成功處理的。每個訂單如果即時寫入數(shù)據(jù)庫,會造成數(shù)據(jù)庫無法負擔。因此業(yè)務A和業(yè)務B都包含下列線程:
(1)主線程:用于接受客戶端請求
(2)初始線程:完成系統(tǒng)初始化
(3)處理線程:處理隊列
(4)同步更新線程:更新到數(shù)據(jù)庫

系統(tǒng)采用.Net   Remoting技術進行部署,為了減少并發(fā)沖突,我的想法是:主線程使用實例變量形式,而待處理緩沖和已處理緩沖都采用靜態(tài)變量形式,響應的初始線程、 處理線程和同步更新線程都均采用靜態(tài)變量形式。因此我打算寫一個基礎類,業(yè)務A和業(yè)務B都該基礎類進行繼承,基類的代碼可以簡單概況為:

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多