freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ro中間層設(shè)計(jì)的方案-文庫(kù)吧資料

2024-11-22 03:03本頁(yè)面
  

【正文】 trol(tmpCaptionCtl,tmpCtl: TControl。 fld: String)。 public procedure FreeBindCtlList。 Property HideDTOList: TStringList Read FHideDTOList Write FHideDTOList。 Caption: String)。 Caption: String)。 i_j: Integer): String。 //綁定控件 procedure RefVOCtlDisplay(pDTO: TDataTransferObject)。 //隱藏字段列表 (隱藏字段 不顯示界面 )。 4. TDTODisplay 類 聲明如下: TDTODisplay = class(TPersistentAdapter) private FDTOCaptionList: TStringList。 因?yàn)樯蛇@些字段,可能造成 insert 失敗。 功能說(shuō)明: 該類可以在用代碼生成工具進(jìn)行配置的時(shí)候, 控制字段是否生成 SQL 語(yǔ)句, 可控制( Select 語(yǔ)句, Insert 語(yǔ)句, Delphi 語(yǔ)句)。 override。 override。 Property VisUpdateList: TStringList Read FVisUpdateList Write FVisUpdateList。 //隱藏生成 SQL 語(yǔ)句列表 (隱藏字段不生成 Update 語(yǔ)句) published Property VisSelectList: TStringList Read FVisSelectList Write FVisSelectList。 //隱藏生成 SQL 語(yǔ)句列表 (隱藏字段不生成 select 語(yǔ)句) FVisInsertList: TStringList。 附:在 DTO 進(jìn)行序列化時(shí),并不會(huì)實(shí)現(xiàn)該類的序列化。 FDTOType: 標(biāo)識(shí)實(shí)體映射的類型 (table, view), FmapName: 映射的名字, _Index: 在 Grid 中的 索引,這里要詳細(xì)講一下, 這個(gè)索引 的概念, 我們假設(shè)從服務(wù)器端獲取一個(gè) TDTOList( 數(shù)據(jù)對(duì)象列表 ) , 而每個(gè)對(duì)象在 List 中都有自己的位置, 可能被刪除,新增, 但會(huì)不會(huì)和界面中的 Grid 一致呢, 不一致, 因此這個(gè)就是默認(rèn)更新界面索引用的,你可能會(huì)想,我點(diǎn)擊的時(shí)候就能判斷行列,干嘛用這個(gè) ,因?yàn)橛袝r(shí)候你可能會(huì)在程序內(nèi)部多次處理新增,刪除,操作,如此一來(lái),整個(gè)數(shù)據(jù)就亂了。 override。 override。 Property MapName: String Read FMapName Write FMapName。 //索引在 Grid 中的位置 published Property FIndex: Integer Read _Index Write _Index。 //類型 (table, view) FMapName: String。 附:在 DTO 進(jìn)行序列化時(shí),并不會(huì) 實(shí)現(xiàn)該類的序列化。多層應(yīng)用中,層與層之間傳輸?shù)膶?shí)體對(duì)象。 DTODisplay: TDTODisplay。 FFldProperty: TDTOProperty。 設(shè)置為真。 使用說(shuō)明: procedure SetDestroyFlag(b_Destroy: Boolean)。另外加入 SetDestroyFlag 對(duì)接口的生命周期進(jìn)行控制。 說(shuō)明:該 單元 類設(shè)計(jì)較復(fù)雜 ,詳細(xì)說(shuō)明如下: 1. TPersistentAdapter 類 : 主要功能: 實(shí)現(xiàn)了數(shù)據(jù)持久化接口的一個(gè)基類。 要設(shè)計(jì)一個(gè)通用 的底層 持久化對(duì)象往往是困難的, 因?yàn)樵谝粋€(gè)對(duì)象中,有可能它的本身一個(gè)變量就是其它的一個(gè)類,當(dāng)然這個(gè)類本身也必須要支持持久化,否則,該變量無(wú)法被持久化。一個(gè)讀,一個(gè)寫(xiě)。 持久化: 需要把一個(gè)對(duì)象實(shí)體存入到介質(zhì)的一種手段。 在三層或多層設(shè)計(jì)中,層與層之間傳輸?shù)木驮獢?shù)據(jù) (傳輸對(duì)象 ), 從而使系統(tǒng)的開(kāi)發(fā),真正面向?qū)ο缶哂锌删S護(hù),易用性 ,數(shù) 據(jù)無(wú)關(guān)性, 無(wú)數(shù)據(jù)集處理異常等優(yōu)點(diǎn)。 對(duì)映數(shù)據(jù)庫(kù)的映射。 注冊(cè)工廠對(duì)注冊(cè)的元數(shù)據(jù)進(jìn)行管理,查找,創(chuàng)建等。 在初始化時(shí)已經(jīng)創(chuàng)建該對(duì)象,該對(duì)象為全局對(duì)象,在系統(tǒng)退出時(shí),由操作系統(tǒng)回收 空間 。 2) uDataTransferObjectFactory 元數(shù)據(jù) 注冊(cè)工廠 單元 說(shuō)明: TRegDTOFactory 類 主要功能: 1. 對(duì)系統(tǒng)所有的元數(shù)據(jù)類 (TdataTransferObject 及派生類 )進(jìn)行注冊(cè) 。 2. 對(duì) published 屬性字段的讀取。 附: uConnDBFactory_ACCESSServer 工廠類 單元和 uConnDBFactory_Oralce 工廠類 單元和前面所述雷同。 Result := connDB。 var connDB: TConnDB。 end。 begin connDB := 。 function () :IConnDataBase。 抽象工廠 創(chuàng)建一系列產(chǎn)品,產(chǎn)口都實(shí)現(xiàn) IconnDataBase 該接口,派生不同的工廠,創(chuàng)建不同的產(chǎn)品系統(tǒng)類型。 end。 virtual。 原始的設(shè)計(jì)也被保留了下來(lái)。后因 BDE 已經(jīng)漸漸退出市場(chǎng)。 5) uConnDBFactory 工廠類單元 附 : 開(kāi)始創(chuàng)建數(shù)據(jù)訪問(wèn)類時(shí),用了抽象工廠模式 ,本來(lái)是考慮到,不同的 連接對(duì)象,會(huì)使用不同的數(shù)據(jù)感知控件訪問(wèn) 。 ConnfigDBConnection 方法是根據(jù)配置參數(shù), 對(duì) 不同的連接對(duì)象( BDE, ADO),處理不同的數(shù)據(jù)庫(kù)連接。 實(shí)現(xiàn)兩個(gè)方法, 對(duì)于 ADO 連接創(chuàng)建 TADOConnection,對(duì)于 BDE 則創(chuàng)建 Tdatabase。 function setConnectionStr(txt): Boolean。 2. function setConnectionStr(xml): Boolean。 特點(diǎn): 兩個(gè)虛函數(shù) ,由具體的派生類返回 ,如 BDE 的連接將返回 TDatabase,而 ADO 的連接則返回 TADOConnection, ConnfigDBConnection 方法是根據(jù)配置參數(shù) ,根據(jù)不同的連接對(duì)象( BDE, ADO),處理不同的數(shù)據(jù)庫(kù)連接。 兩個(gè)函數(shù)被定義成了抽象函數(shù),由派生類實(shí)現(xiàn)。 virtual。 abstract。 2. function getDBConnection: TCustomConnection。 在其它類調(diào)用的時(shí)候,可以不用關(guān)心是什么數(shù)據(jù)庫(kù), 怎么存取 數(shù)據(jù)庫(kù)配置文件等, 只需調(diào)用接口的方法即可, 真正的實(shí)現(xiàn)是由工廠來(lái)完成的,(工廠可以根據(jù)配置文件,生成不同的產(chǎn)品)。 4. 設(shè)置 TConnDBConfig 類 中數(shù) 據(jù)庫(kù)連接參數(shù)。 2. 可以從 TConnDBConfig 類中加載數(shù)據(jù)庫(kù)連接參數(shù),連接數(shù)據(jù)庫(kù)。 // 通 過(guò) 該 類 設(shè) 置Connection 參數(shù) end。 function getConnDBKind: TConnDBKind。] function getDBConnection: TCustomConnection。 2) uIConnDB 數(shù)據(jù)庫(kù)訪問(wèn)接口單元 IConnDataBase = interface(IUnknown) [39。 overload。 overload。 具體調(diào)用: function setConnectionStr: Boolean。 2. 配置文件可以不同 (XML,TXT 等 ),但參 數(shù)不變 。 另外應(yīng)用服務(wù)器還包括: Service 即插即用功能,參數(shù)動(dòng)態(tài)配置功能,權(quán)限控制模塊,日志管理,消息隊(duì)列管理,異常處理等功能。并且接受 登錄服務(wù)器 授權(quán)的客戶連接,提 供相應(yīng)服務(wù),拒絕與非授權(quán)(非法)用戶連接。 應(yīng)用服務(wù)器采用集群方式,可以配置一臺(tái)或者多臺(tái),應(yīng)用服務(wù)器完成相應(yīng)的業(yè)務(wù)邏輯,通過(guò) DAO 或 API 與后臺(tái)數(shù)據(jù)庫(kù)連接。 用戶登錄偵聽(tīng)線程: 收到用戶登錄信息,到本地已 通過(guò)驗(yàn)證列表,及全局用戶列表(已通過(guò)登服務(wù)器 驗(yàn)證,連接狀態(tài)(已連接 /未連接應(yīng)用服務(wù)器))中查找,如果不存在相應(yīng)信息, 驗(yàn)證用戶身份,通過(guò)后,更新本地全局用戶狀態(tài)信息(已驗(yàn)證,未連接),處理負(fù) 載均衡算法,分配連接的應(yīng)用服務(wù)器 IP,寫(xiě)入日志記錄。 并啟動(dòng)后臺(tái)全局列表維護(hù)線程和用戶 業(yè)務(wù)邏輯 偵聽(tīng)線程。 并且向 主應(yīng)用程序發(fā)送 通過(guò)驗(yàn)證用戶 信息 (用戶 ID,密鑰等)。 全局列表維護(hù)線程: 向主應(yīng)用服務(wù)器發(fā)送請(qǐng)求,獲取全局用戶列表信息 (用戶 ID,已通過(guò)登服務(wù) 器驗(yàn)證,連接狀態(tài)(已連接 /未連接應(yīng)用服務(wù)器) 等 ) 。 發(fā)送已經(jīng) 連接應(yīng)用服務(wù)器的用戶列表。(只是在 A 用戶 S 對(duì) S中 B 用戶轉(zhuǎn) 發(fā), 且在 SA 的全局列表中找不到 B 用戶所在的 S 時(shí), 向 集中應(yīng)用服務(wù)器提交請(qǐng)求 , 獲取 B 用戶所在 S 中的全局列表信息 時(shí) )。減少網(wǎng)絡(luò)流量。 b) 向 登錄服務(wù)器 發(fā)送更新全局 已連接應(yīng)用服務(wù)器 用戶信息 ,和已通過(guò)驗(yàn)證,但尚未接入應(yīng)用服務(wù)器的用戶列表 。 5 運(yùn)行環(huán)境設(shè)計(jì) [說(shuō)明系統(tǒng)運(yùn)行的配置參數(shù) *.ini,日志規(guī)范 ] 日志格式采用XML格式規(guī)范 Service ServiceName …… . /ServiceName /Service 6 系統(tǒng)處理 模塊與 流程圖 集中 應(yīng)用服務(wù)器 系統(tǒng) 集中應(yīng)用服務(wù)器相應(yīng)模塊 集中應(yīng)用服務(wù)器 啟動(dòng)流 程: 集中應(yīng)用服務(wù)器 先從數(shù)據(jù)庫(kù) 獲取全局用戶信息, 根據(jù)配置文件, 并啟動(dòng)后臺(tái)偵聽(tīng)線程實(shí)時(shí)接受 各個(gè) 應(yīng)用服務(wù)器相應(yīng)的用戶列表信息,更新全局用戶 狀態(tài) 信息。 在系統(tǒng)部署上業(yè)務(wù)接入模塊可部署在多臺(tái)機(jī)器上,通過(guò) NAT/DNS 實(shí)現(xiàn) 負(fù)載均衡 。 業(yè)務(wù)接入模塊軟件結(jié)構(gòu)圖 T C P 接 口U D P 接 口H T T P 接 口A P I 接 口連 接業(yè) 務(wù) 請(qǐng) 求負(fù) 載 均 衡 算 法l o o k u p應(yīng) 用 服 務(wù) 器 2應(yīng) 用 服 務(wù) 器 1應(yīng) 用 服 務(wù) 器 集 群應(yīng) 用 服 務(wù) 器 nS o c k e t / A P Ig e t本 地 連 接本 地連 接 1本 地連 接 2本 地連 接 n業(yè) 務(wù) 接 入 模 塊業(yè) 務(wù) 代 理業(yè) 務(wù) 監(jiān) 聽(tīng)業(yè) 務(wù) 代 理后 臺(tái) 管 理 n后 臺(tái) 管 理 1后 臺(tái) 管 理 模 塊 響 應(yīng)業(yè) 務(wù) 解 析業(yè) 務(wù) 控 制 業(yè) 務(wù) 展 示A P IA P I消 息 分 派業(yè) 務(wù) 對(duì) 象 插件 管 理 說(shuō)明: 業(yè)務(wù)接入模塊在結(jié)構(gòu)上主要分為兩在部分, 業(yè)務(wù)代理 部分, 業(yè)務(wù)監(jiān)聽(tīng) 部分。 業(yè)務(wù)控制,邏輯處理層主要負(fù)責(zé) 具體的 業(yè)務(wù)處理 。并保證了系統(tǒng)數(shù)據(jù)安全。 另外應(yīng)用服務(wù)器還包括: Service 即插即用功能,參數(shù)動(dòng)態(tài)配置功能,權(quán)限控制模塊,日志管理,消息隊(duì)列管理,異常處理等功能。 并且接受 登錄服務(wù)器 授權(quán)的客戶連接,提供相應(yīng)服務(wù),拒絕與非授權(quán)(非法)用戶連 接。 4) 應(yīng)用服務(wù)器 應(yīng)用服務(wù)器采用集群方式,可以配置一臺(tái)或者多臺(tái),應(yīng)用服務(wù)器完成相應(yīng)的業(yè)務(wù)邏輯, 通過(guò) DAO 或 API 與 后臺(tái)數(shù)據(jù) 庫(kù) 連接。 3) 集中應(yīng)用服務(wù)器 集中應(yīng)用服務(wù)器,主要獲取全局用戶信息, 集中應(yīng)用服務(wù)器啟動(dòng)后,處于偵聽(tīng)狀態(tài),實(shí)時(shí)接受應(yīng)用服務(wù)器相應(yīng)的用戶列表信息 ,更新全局用戶信息。 如果是非法用戶,立即斷開(kāi)連接,且加入黑名單 (根據(jù)系統(tǒng)設(shè)置,對(duì)用戶連接限制)。 且在后臺(tái)偵聽(tīng),一旦發(fā)現(xiàn)有用戶連接,先向客戶端發(fā)送一個(gè)加密密鑰, 在以后通信中,該密鑰作為安全驗(yàn)證的依據(jù)。 2) 登錄服務(wù)器 登錄服務(wù)器 采用集群方式,可以配置一臺(tái)或者多 臺(tái), 登錄服務(wù)器 完成客戶端的身份驗(yàn)證,安全授權(quán)。 混合型負(fù)載均衡示例圖: 4 系統(tǒng)架構(gòu)圖 負(fù)載均衡系統(tǒng) 物理 架構(gòu)圖 網(wǎng)絡(luò)拓?fù)? 該負(fù)載均衡系統(tǒng)包括:客戶端, 登錄服務(wù)器 集群, 應(yīng)用服務(wù)器 集群 , 數(shù)據(jù)庫(kù)服務(wù)器集群。我們將這種方式稱之為混合型負(fù)載均衡。 反向代理負(fù)載均衡技術(shù)是把將來(lái)自 inter 上的連接請(qǐng)求以反向代理的方式動(dòng)態(tài)地轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的多臺(tái)服務(wù)器進(jìn)行處理,從而達(dá)到負(fù)載均衡的目的。由于地址轉(zhuǎn)換相對(duì)來(lái)講比較接近網(wǎng)絡(luò)的低層,因此就有可能將它集成
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1