版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
企業(yè)程序庫的概述日程企業(yè)程序庫前世今生企業(yè)程序庫的7種武器合作伙伴成功案例(中軟融鑫)Q&A企業(yè)開發(fā)中經(jīng)常談?wù)摰脑掝}:幾乎所有的企業(yè)應(yīng)用都有一些類似的需求編寫一個組件以便簡化對存儲過程的訪問構(gòu)建一個日志機制能將錯誤信息進(jìn)行多渠道的輸出構(gòu)建一個基于角色的用戶權(quán)限管理機制對敏感數(shù)據(jù)進(jìn)行加密我們?nèi)绾螌崿F(xiàn)這些常用的需求?百家爭鳴時代各企業(yè)內(nèi)部根據(jù)自身需求編寫組件類似的代碼在不同的企業(yè)被一次又一次地重復(fù)企業(yè)開發(fā)的經(jīng)驗與最佳實踐得不到共享應(yīng)用程序塊時代應(yīng)用程序塊是開源的.NET組件,是微軟與合作伙伴多年實踐與經(jīng)驗的總結(jié)可重用,可擴展,可修改通用服務(wù)e.g.日志,緩存,數(shù)據(jù)訪問,配置…可重用的架構(gòu)e.g.自動更新,離線應(yīng)用,用戶界面處理…群眾的呼聲各程序塊間應(yīng)提供一致性保障對程序塊的評估及理解應(yīng)更加容易減少相互間的依賴(如ExceptionManagement)容易對程序塊進(jìn)行配置易于擴展應(yīng)用程序塊重裝上陣一致性采用了一致的設(shè)計模式和實施方法擴展性編寫代碼以插件的方式外掛到應(yīng)用程序塊上進(jìn)行擴展易用性充分利用圖形化配置工具提供了簡明、完整的文檔及快速啟動案例集成性各程序塊既能相互工作.又能獨立工作企業(yè)程序庫時代2005年1月發(fā)布第一版,最新版本在6月發(fā)布可重用的應(yīng)用程序塊庫,用于解決企業(yè)級開發(fā)中所面臨的常見挑戰(zhàn)較低風(fēng)險(實踐是檢驗真理的唯一標(biāo)準(zhǔn))降低成本(可重用性)快速實施的問題(易用性)當(dāng)前有7個應(yīng)用程序塊組成下載SecurityCryptoDataAccessLoggingCachingExceptions企業(yè)程序庫LegendDependencyPlug-inConfigurationConfigTool日程企業(yè)程序庫前世今生企業(yè)程序庫的7種武器合作伙伴成功案例(中軟融鑫)Q&A霸王槍-配置程序塊SecurityCryptoConfigurationDataAccessLoggingCachingExceptionsConfigTool配置程序塊-百兵之祖為應(yīng)用系統(tǒng)提供了公用的配置管理解決方案,允許應(yīng)用程序方便靈活地從不同配置存儲讀寫配置信息隔離應(yīng)用程序和配置數(shù)據(jù)的物理存儲位置StorageProviders:允許從不同的物理存儲讀寫信息(如SQL/XML)Transformers:將讀取的配置數(shù)據(jù)經(jīng)轉(zhuǎn)換器轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù)內(nèi)置對XML的支持改善安全性(支持加密保存)配置文件監(jiān)控器能夠監(jiān)測到配置文件的變化并發(fā)出事件通知配置程序塊示例EditorFontDataconfigData
=NewEditorFontData();configData.Name=fontDialog.Font.Name;configData.Size=fontDialog.Font.Size;configData.Style=Convert.ToInt32(fontDialog.Font.Style);//writeanobjectinfotoconfigfileConfigurationManager.WriteConfiguration("EditorSettings",configData);PublicEditorFontData(){PrivatestringfontName;PrivateDoublefontSize;PrivateIntegerfontStyle;}//ReadanobjectwithmultiplepropertiesEditorFontDataconfigData
=ConfigurationManager.GetConfiguration("EditorSettings")SecurityCryptoConfigurationDataAccessLoggingCachingExceptions碧玉刀-數(shù)據(jù)訪問程序塊ConfigTool數(shù)據(jù)訪問程序塊-大開大闔對數(shù)據(jù)庫訪問提供了簡單、高效的訪問方式屏蔽了對常用ADO.NET使用的復(fù)雜度,使用單條語句即可完成對存儲過程的調(diào)用為SQLServer,Oracle,DB2提供了統(tǒng)一的編程當(dāng)移植應(yīng)用程序到不同數(shù)據(jù)庫類型時,減少重寫代碼的數(shù)量搭起了邏輯數(shù)據(jù)庫與物理數(shù)據(jù)庫間的橋梁,降低改變物理數(shù)據(jù)目標(biāo)的難度容易對數(shù)據(jù)庫訪問的配置信息進(jìn)行調(diào)整和驗證數(shù)據(jù)訪問程序塊架構(gòu)數(shù)據(jù)訪問程序塊示例PublicFunctionGetProductsInCategory(ByRefCategoryAsInteger)AsDataSet'CreatetheDatabaseobject,usingthedefaultdatabaseservice.The'defaultdatabaseserviceisdeterminedthroughconfiguration.DimdbAsDatabase=DatabaseFactory.CreateDatabase()'Invokethestoredprocedurewithonelineofcode!returndb.ExecuteDataSet("GetProductsByCategory",Category)'Note:connectionwasclosedbyExecuteDataSetmethodcallEndFunctionSecurityCryptoConfigurationDataAccessLoggingCachingExceptions長生劍-異常處理程序塊ConfigTool異常處理程序塊-攻如風(fēng),守似磐異常處理程序塊為系統(tǒng)的不同層面提供了一致的例外處理策略異常由配置工具進(jìn)行定義和維護(hù)–不需要通過編碼控制例外處理定義“異常策略”,可指定該策略發(fā)生時的行為將異常寫入日志用另外一個異常進(jìn)行封裝采用不同的異常替代以便隱藏敏感的異常信息創(chuàng)建自己的Handler,提供附加的處理行為異常處理程序塊示例DataSetcustomersDataSettry{customersDataSet=RunQuery(“GetAllCustomers”);}catch(Exceptionex){stringformattedInfo=FormatException(ex);
Logging.Log(formattedInfo)
ThrownewDataAccessException(“DatabaseaccessfailureforqueryGetAllCustomers”,e)}WithoutExceptionHandlingAppBlock1.0DataSetcustomersDataSettry{//SomecodethatmaythrowcustomersDataSet=RunQuery(“GetAllCustomers”);}catch(Exceptionex){if(ExceptionPolicy.HandleException(ex,“DataAccessPolicy”))
throw;}Exceptionpolicy:“DataAccessPolicy”Exceptiontype:System.Data.SqlClient.SqlExceptionExceptionHandler:LoggingHandlerWrapHandlerexceptionhandling.configWithExceptionHandlingAppBlockSecurityCryptoConfigurationDataAccessLoggingCachingExceptions離別鉤-緩存程序塊ConfigTool緩存程序塊-心神合一靈活的緩存機制可以用于以下各種類型的應(yīng)用架構(gòu):WindowsFormsConsoleapplicationNTService/COM+ServerASP.NETWebapplicationorWebservice支持兩類緩存機制:In-memorycache–非永久緩存,但性能很好Backingstore–永久性緩存,但較慢易于使用提供了Cache處理需的所有功能
(添加,查詢,刪除)可配置的過期策略SecurityCryptoConfigurationDataAccessLoggingCachingExceptions孔雀翎-加密程序塊ConfigTool加密程序塊-第一暗器簡化了開發(fā)人員為敏感信息進(jìn)行加解密工作加解密任何類型(Stream/Byte)的信息提高易用性(CreateHash/CompareHash)支持多種加解密算法支持所有.NET提供的加密算法通過DPAPI,對單臺計算機上的信息進(jìn)行無密鑰加密允許集成自己開發(fā)的加解密算法Provider提高集成性算法與密鑰可以通過配置工具進(jìn)行配置SecurityCryptoConfigurationDataAccessLoggingCachingExceptions多情環(huán)-安全程序塊ConfigTool安全程序塊-人情色彩幫助開發(fā)人員在應(yīng)用程序中實現(xiàn)通用的安全相關(guān)任務(wù)認(rèn)證授權(quán)角色管理Profile管理簡單的方法AuthenticateAuthorizeGetRolesSetProfile基于應(yīng)用安全的最佳實踐安全程序塊架構(gòu)SecurityCryptoConfigurationDataAccessLoggingCachingExceptions拳頭-日志程序塊ConfigTool日志程序塊-一切盡在掌握提供簡單標(biāo)準(zhǔn)一致的Logging機制能靈活指定哪類信息以何種格式輸出、輸出到何處實現(xiàn)了應(yīng)用程序代碼與日志策略的隔離當(dāng)前提供了以下日志輸出:EventLogDatabaseTextFileMSMQEmailWMI自定義輸出…日志程序塊示例
DimlogAsLogEntry=NewLogEntrylog.Message=“Yourmessagehere…”log.Priority=1log.EventId=100log.Category="Debug"Logger.Write(log)//Orifyoupreferoneline...Customercust=GetCustomer(123);//Logthecustomer–willcall
//cust.ToString()forthelogentryLogger.Write(cust,Category,Priority);配置企業(yè)程序庫日程企業(yè)程序庫前世今生企業(yè)程序庫的7種武器合作伙伴成功案例(中軟融鑫)Q&A我們的應(yīng)用RedSMSPlatformV3.0
短信服務(wù)平臺,完成短信收發(fā)SMS系統(tǒng)管理助手V1.0
ServerManagementSystem助手,幫助用戶完成如License管理等輔助功能RedSMSPlatformV3.0小試牛刀日志程序塊配置程序塊以前的做法寫類來完成文本文件寫入Logger.Write(stringlog))修改方法參數(shù)或在使用中不斷增加重載方法以應(yīng)變可能的使用情況Write(p1)、Write(p1,p2)、……考慮如何將類對象序列化自己處理XML文件的讀寫來讀取和寫入配置信息現(xiàn)在的做法學(xué)習(xí)相關(guān)知識-WebCast(1.5個小時)研究示例-Sles(1小時)完成功能-RedSMSPlatform(10分鐘)2小時40分實現(xiàn)方法Logger.Write(content)Logger.Write(LogEntrylog)Logger.Write(objectmessage,stringcategory)11種重載方式!SMS系統(tǒng)管理助手V1.0解決用戶權(quán)限定義問題安全程序塊配置程序塊加密程序塊數(shù)據(jù)訪問程序塊日志程序塊安全程序塊代碼量&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能化廠房內(nèi)墻抹灰及防水處理勞務(wù)分包合同4篇
- 2024蘇州租房合同模板:蘇州工業(yè)園區(qū)租賃市場規(guī)范化合同9篇
- 專業(yè)貨車駕駛員勞動協(xié)議格式版B版
- 2024裝飾合同補充協(xié)議范本
- 2025年廠房租賃與產(chǎn)業(yè)協(xié)同發(fā)展合同4篇
- 2025年度茶葉包裝設(shè)計及印刷合同書范本4篇
- 二零二五年度城市綜合體BIM施工協(xié)調(diào)與監(jiān)控合同3篇
- 專業(yè)工地食堂供應(yīng)承包條款及合同(2024版)版B版
- 2025年度教育用品寄賣代理合同范本3篇
- 2025年度現(xiàn)代農(nóng)業(yè)科技示范場承包合作協(xié)議4篇
- 臺資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 羅盤超高清圖
- 參會嘉賓簽到表
- 機械車間員工績效考核表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評估流程圖
- 人力資源管理之績效考核 一、什么是績效 所謂績效簡單的講就是對
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評論
0/150
提交評論