轉自:http://blog.csdn.net/dotnet90/archive/2009/05/05/4152401.aspx
基本設計概念和處理流程
調用模型
利用面向對象思想多態性,調用方保存著被調用方的基礎接口指針(一般稱呼為 鉤子),調用方直接調用接口指針里面方法,方法具體實現邏輯由
該接口的派生類實現.示意圖:

基于事件驅動的數據處理模型
為系統功能設計,需要處理網絡事件數據SocketEvent,數據庫事件數據DatabaseEvent,定時器事件數據TimerEvent等,為此建立數據隊列服
務QueueService,為每一隊列建立多個子線程QueueServiceThread處理。數據隊列服務提供添加事件數據方法AddToQueue,設置數據隊列服務鉤
子SetQueueServiceSink,讓數據隊列服務鉤子QueueServiceSink做具體邏輯事件數據處理。
示意圖:

再者,根據網絡,數據庫等特定功能,構建網絡,數據庫等管理服務,實現數據隊列服務鉤子QueueServiceSink方法,調度事件數據執行外部處
理接口,外部處理接口具體由二次開發用戶實現。示意圖:

事件數據設計

框架體系設計

功能模塊劃分

數據隊列服務QueueService模塊設計
基本設計概念
建立一個內存鏈表,保存事件數據,對外部提供方法往鏈表添加事件數據并通知線程,同時啟動多個處理線程,從數據鏈表里獲取事件數據,執行外部鉤子方法進行處理.線程事件通知采用完成端口技術.
類與接口設計
接口設計

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/dotnet90/archive/2009/05/05/4152401.aspx