設(shè)計(jì)模式與工程實(shí)踐課件_第1頁(yè)
設(shè)計(jì)模式與工程實(shí)踐課件_第2頁(yè)
設(shè)計(jì)模式與工程實(shí)踐課件_第3頁(yè)
設(shè)計(jì)模式與工程實(shí)踐課件_第4頁(yè)
設(shè)計(jì)模式與工程實(shí)踐課件_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

設(shè)計(jì)模式與工程實(shí)踐王翔(VisionWang)Architect(.NET,XML,PKI)2009-01-17設(shè)計(jì)模式與工程實(shí)踐王翔(VisionWang)個(gè)人資料王翔軟件架構(gòu)師,主要從事.NET、XML、公鑰基礎(chǔ)設(shè)施的開(kāi)發(fā)。專注于數(shù)據(jù)(尤其是XML信息)的生產(chǎn)、加工、交換、提煉等過(guò)程。此外,參與了一系列有關(guān)應(yīng)用密碼技術(shù)和PKI環(huán)境保護(hù)信息系統(tǒng)數(shù)據(jù)安全的項(xiàng)目。最喜歡數(shù)學(xué),平常案頭總是擺一本數(shù)學(xué)練習(xí)題。閑暇時(shí)間喜歡寫作,通過(guò)發(fā)表多種技術(shù)文章與國(guó)內(nèi)外同行交流各種數(shù)據(jù)應(yīng)用經(jīng)驗(yàn)。項(xiàng)目間隙經(jīng)常到各海濱城市徒步旅行、野外露營(yíng)、出海航行、極限運(yùn)動(dòng)。座右銘:天行健,君子以自強(qiáng)不息。個(gè)人資料王翔Agenda簡(jiǎn)介GoF23與工程實(shí)踐案例分析其他Agenda簡(jiǎn)介簡(jiǎn)介當(dāng)你要開(kāi)發(fā)一個(gè)小型的系統(tǒng),整個(gè)系統(tǒng)只有兩三人開(kāi)發(fā),系統(tǒng)活不過(guò)5年,商業(yè)邏輯單純,程序代碼不超過(guò)萬(wàn)行,這時(shí),你隨便做,影響不大。反之,若要架構(gòu)大型系統(tǒng),你需要慎思,套用模型與架構(gòu),將前人的經(jīng)驗(yàn)當(dāng)作基石,這樣系統(tǒng)設(shè)計(jì)才不至于陷入發(fā)散。然而,你不會(huì)一開(kāi)始就做大系統(tǒng),風(fēng)險(xiǎn)太高。所以,要練習(xí),最好從小系統(tǒng)開(kāi)始使用模型與架構(gòu),如此才能檢討與學(xué)習(xí),日后方能在大系統(tǒng)中自如運(yùn)用?!对O(shè)計(jì)模式——基于C#的工程化實(shí)現(xiàn)及擴(kuò)展》序胡百敬簡(jiǎn)介當(dāng)你要開(kāi)發(fā)一個(gè)小型的系統(tǒng),整個(gè)系統(tǒng)只有兩三人開(kāi)發(fā),系統(tǒng)活簡(jiǎn)介系統(tǒng)分析與設(shè)計(jì)是門藝術(shù),問(wèn)題的解法與何為問(wèn)題是交織的,而各模式的搭配使用技巧不同,存乎一心,需要巧思與反復(fù)琢磨,方可有好的解法。本書(shū)立意明確,除了告訴你問(wèn)題的類型與解法,還提供了可以立即演繹的程序代碼。相信這本案頭的工具書(shū)可以提供你一個(gè)不錯(cuò)的深思起點(diǎn),造就有彈性、能擴(kuò)充、易維護(hù)的軟件實(shí)力?!对O(shè)計(jì)模式——基于C#的工程化實(shí)現(xiàn)及擴(kuò)展》序胡百敬簡(jiǎn)介系統(tǒng)分析與設(shè)計(jì)是門藝術(shù),問(wèn)題的解法與何為問(wèn)題是交織的,而簡(jiǎn)介設(shè)計(jì)模式可以當(dāng)做軟件開(kāi)發(fā)中的獨(dú)孤九劍。在軟件設(shè)計(jì)中最大的敵人就是需求不斷的變化,需求變化無(wú)休無(wú)止,軟件交付日期也就無(wú)限期的延遲。我們無(wú)法做到以不變應(yīng)萬(wàn)變,但如果能提前預(yù)見(jiàn)到一些變化,就能用很小的代價(jià)來(lái)應(yīng)對(duì)劇烈的變化。GOF總結(jié)的經(jīng)典設(shè)計(jì)模式雖只有23種,但不管是創(chuàng)建型模式、結(jié)構(gòu)型模式還是行為型模式,歸根結(jié)底都是在尋找軟件中可能的變化,并封裝這些變化?!傲蠑硻C(jī)先”為設(shè)計(jì)模式精髓之一,只不過(guò)這里的敵是需求的變化而已。對(duì)于設(shè)計(jì)模式如果不能夠做到靈活自如的運(yùn)用,不僅威力大減,甚至于弄巧成拙,“活學(xué)活用”為設(shè)計(jì)模式精髓之二?!对O(shè)計(jì)模式——基于C#的工程化實(shí)現(xiàn)及擴(kuò)展》序李會(huì)軍簡(jiǎn)介設(shè)計(jì)模式可以當(dāng)做軟件開(kāi)發(fā)中的獨(dú)孤九劍。在軟件設(shè)計(jì)中最大的簡(jiǎn)介設(shè)計(jì)模式無(wú)處不在模式不是框架,不能套用模式也不是過(guò)程,模式也不是簡(jiǎn)單的“問(wèn)題的解決方案”系統(tǒng)的設(shè)計(jì)也不是含有設(shè)計(jì)模式就好更不是含有越多的設(shè)計(jì)模式就越好簡(jiǎn)介設(shè)計(jì)模式無(wú)處不在簡(jiǎn)介真正為軟件設(shè)計(jì)界帶來(lái)系統(tǒng)化設(shè)計(jì)模式思維的是DesignPatterns:ElementsofReusableObject-OrientedSoftware此后各個(gè)領(lǐng)域開(kāi)始出現(xiàn)各種模式化思維成例數(shù)據(jù)及數(shù)據(jù)庫(kù)架構(gòu)實(shí)時(shí)系統(tǒng)集成Web/AJAX……簡(jiǎn)介真正為軟件設(shè)計(jì)界帶來(lái)系統(tǒng)化設(shè)計(jì)模式思維的是簡(jiǎn)介反模式的思維決定在項(xiàng)目中使用哪一種設(shè)計(jì)模式一位開(kāi)發(fā)人員通過(guò)介紹希望在一項(xiàng)工程中使用設(shè)計(jì)模式開(kāi)發(fā)人員通過(guò)包括設(shè)計(jì)模式的最佳實(shí)踐來(lái)改進(jìn)項(xiàng)目的渴望開(kāi)發(fā)人員天生的好奇心驅(qū)使他利用這個(gè)項(xiàng)目來(lái)研究設(shè)計(jì)模式項(xiàng)目中應(yīng)用了所有知名的設(shè)計(jì)模式項(xiàng)目團(tuán)隊(duì)和交付的應(yīng)用程序由于不自然地引入太多設(shè)計(jì)模式而遭受損失。不必要的復(fù)雜性會(huì)從已經(jīng)完成的工作量、開(kāi)發(fā)團(tuán)隊(duì)了解發(fā)生事情的能力、應(yīng)用程序的實(shí)際性能和功能的正確性等方面影響開(kāi)發(fā)成果設(shè)計(jì)模式是專業(yè)知識(shí)的主要來(lái)源,盡管使用他們的效果很好,但是全部使用他們就未必也是好的簡(jiǎn)介反模式的思維簡(jiǎn)介實(shí)際解決方案設(shè)計(jì)模式的描述包含了使用模式的目標(biāo)語(yǔ)境,必須考慮如何確保設(shè)計(jì)模式匹配項(xiàng)目設(shè)計(jì)模式不是來(lái)源于當(dāng)某人閱讀了一本設(shè)計(jì)模式的著作后,問(wèn):“我可以把這個(gè)設(shè)計(jì)模式使用在什么地方?”而是來(lái)源于某人尋找已發(fā)現(xiàn)問(wèn)題的解決方案簡(jiǎn)介實(shí)際解決方案GoF23與工程實(shí)踐CreationalAbstractFactoryBuilderFactoryMethodPrototypeSingletonCreatesaninstanceofseveralfamiliesofclassesSeparatesobjectconstructionfromitsrepresentationCreatesaninstanceofseveralderivedclassesAfullyinitializedinstancetobecopiedorclonedAclassofwhichonlyasingleinstancecanexistStructuralAdapterBridgeCompositeDecoratorFacadeFlyweightProxyMatchinterfacesofdifferentclassesSeparatesanobject’sinterfacefromitsimplementationAtreestructureofsimpleandcompositeobjectsAddresponsibilitiestoobjectsdynamicallyAsingleclassthatrepresentsanentiresubsystemAfine-grainedinstanceusedforefficientsharingAnobjectrepresentinganotherobjectBehavioralCoRCommandInterpreterIteratorMediatorMementoObserverStateStrategyTemplateMethodVisitorAwayofpassingarequestbetweenachainofobjectsEncapsulateacommandrequestasanobjectAwaytoincludelanguageelementsinaprogramSequentiallyaccesstheelementsofacollectionDefinessimplifiedcommunicationbetweenclassesCaptureandrestoreanobject'sinternalstateAwayofnotifyingchangetoanumberofclassesAlteranobject'sbehaviorwhenitsstatechangesEncapsulatesanalgorithminsideaclassDefertheexactstepsofanalgorithmtoasubclassDefinesanewoperationtoaclasswithoutchangeGoF23與工程實(shí)踐CreationalAbstractFGoF23與工程實(shí)踐設(shè)計(jì)模式是一種設(shè)計(jì)思想,表達(dá)這種思想最簡(jiǎn)潔的方式就是UML+Demo就夠了。但Demo和實(shí)際工程應(yīng)用還是有一段差距的,原因不多,但每一個(gè)都需要在Demo之余好好考慮:此外,設(shè)計(jì)模式的一個(gè)亮點(diǎn)就是提高代碼的可重用性,如果設(shè)計(jì)一套比較適合實(shí)際工程使用的設(shè)計(jì)模式庫(kù),可以節(jié)省八股式反復(fù)Demo的工作。GoF23與工程實(shí)踐設(shè)計(jì)模式是一種設(shè)計(jì)思想,表達(dá)這種思想最簡(jiǎn)GoF23與工程實(shí)踐工程中設(shè)計(jì)模式總是結(jié)合某些開(kāi)發(fā)語(yǔ)言而每種語(yǔ)言本身都有自己的特點(diǎn)C++、C#、Java、DelphiVB、VisualFox、COBOLSQL、XQueryJavaScript、VBScript、ActionScript、PowerShellPython、Perl、Ruby、PHPF#XML、HTML、BPEL……GoF23與工程實(shí)踐工程中設(shè)計(jì)模式總是結(jié)合某些開(kāi)發(fā)語(yǔ)言GoF23與工程實(shí)踐領(lǐng)域建模階段的模式化特征分析GoF23與工程實(shí)踐領(lǐng)域建模階段的模式化特征分析GoF23與工程實(shí)踐的章節(jié)安排GoF23與工程實(shí)踐的章節(jié)安排GoF23與工程實(shí)踐工程中實(shí)踐設(shè)計(jì)模式的感受打破一些固有的套路用自己習(xí)慣的語(yǔ)言以簡(jiǎn)潔、直接的手段解決易于變化的問(wèn)題不要僅僅將依賴關(guān)系定格在對(duì)象體系,更多考慮到應(yīng)用開(kāi)發(fā)、運(yùn)維不同生命周期中參與者的工作特點(diǎn),將依賴拓寬到對(duì)象、配置體系、數(shù)據(jù)存儲(chǔ)和服務(wù)體系面向Web、面向混合信息體系、面向服務(wù)GoF23與工程實(shí)踐工程中實(shí)踐設(shè)計(jì)模式的感受GoF23與工程實(shí)踐開(kāi)發(fā)人員個(gè)性與設(shè)計(jì)模式的關(guān)系程序開(kāi)發(fā)人員在對(duì)待自己工作的時(shí)候總或多或少有些“至于至善”得心結(jié)代碼、類庫(kù)、應(yīng)用框架不僅僅是老板和項(xiàng)目經(jīng)理眼中的產(chǎn)品,更是我們敝帚自珍的工作成果但修改自己的代碼,尤其是因?yàn)樯嫌涡枨蟛淮_定帶來(lái)這種壓力的時(shí)候,總不是那么愉快地經(jīng)歷我們要借鑒并應(yīng)用那些成熟的套路,將變化抽象并集中在幾個(gè)點(diǎn),然后把他們交給運(yùn)維人員來(lái)處理,而我們更多把時(shí)間放在創(chuàng)造性工作模式是現(xiàn)成的,但實(shí)現(xiàn)套路您自己的GoF23與工程實(shí)踐開(kāi)發(fā)人員個(gè)性與設(shè)計(jì)模式的關(guān)系案例分析案例分析案例分析收集所有可能涉及的運(yùn)行系統(tǒng)案例分析收集所有可能涉及的運(yùn)行系統(tǒng)案例分析多種方式“圈”定涉及的系統(tǒng)案例分析多種方式“圈”定涉及的系統(tǒng)案例分析案例分析案例分析案例分析案例分析主要集成模式P2P可用技術(shù)P2P模式下的應(yīng)用特點(diǎn)ADO、ADO.NET通過(guò)ADO/ADO.NET完成對(duì)關(guān)系數(shù)據(jù)庫(kù)、活動(dòng)目錄的訪問(wèn)和修改DTS/SSIS直接從某系統(tǒng)的數(shù)據(jù)庫(kù)層次向目標(biāo)系統(tǒng)寫入信息COM+在需要嚴(yán)格事務(wù)性保證的環(huán)境下,通過(guò)COM+完成包括復(fù)雜邏輯的集成工作WebService通過(guò)專用的WS定義,實(shí)現(xiàn)面向具體數(shù)據(jù)結(jié)構(gòu)基于URI的訪問(wèn)案例分析主要集成模式可用技術(shù)P2P模式下的應(yīng)用特點(diǎn)ADO、A案例分析主要集成模式MessageBroker可用技術(shù)MessageBroker模式下的應(yīng)用特點(diǎn)企業(yè)定制的交換平臺(tái)提供對(duì)包括ORACLE、SQLServer、MySQL、WMI、FILE、ADSI、MSMQ、MessageQ、MQ等各種數(shù)據(jù)源的支持,并提供統(tǒng)一基于配置的處理能力,最好默認(rèn)提供線程池化的并行處理能力,有獨(dú)立的監(jiān)控手段和監(jiān)控工具、提供豐富的定制處理流程APIDTS/SSIS提供豐富的管理、配置、集成和定制開(kāi)發(fā)的API,有MOM和WMI等完善的監(jiān)控機(jī)制,有良好的結(jié)構(gòu)化異常處理能力,有友好的設(shè)計(jì)界面COM+可以提供不同DCOM對(duì)象和支持COM接口對(duì)象的開(kāi)發(fā),適于處理對(duì)遺留系統(tǒng)的集成封裝BizTalkServer適于大型的Broker環(huán)境,與活動(dòng)目錄環(huán)境集成,具有良好的高可用能力,配置、管理、監(jiān)控、消息追蹤、數(shù)據(jù)映射和集成流程編排都有不錯(cuò)的支持。不過(guò)相應(yīng)的學(xué)習(xí)成本較高,對(duì)運(yùn)維人員技術(shù)要求也比較高。案例分析主要集成模式可用技術(shù)MessageBroker模式案例分析主要集成模式MessageBroker可用技術(shù)企業(yè)定制的交互平臺(tái)或BizTalkServer作為Route/Orchestration的機(jī)制,同時(shí)提供必要的公共服務(wù)Provider;調(diào)用接口采用支持Route功能的WCF;如果涉及比較復(fù)雜的數(shù)據(jù)流轉(zhuǎn),而且采用大型中間件產(chǎn)品過(guò)于復(fù)雜的話,可以擴(kuò)展WF實(shí)現(xiàn)控制流轉(zhuǎn);案例分析主要集成模式可用技術(shù)企業(yè)定制的交互平臺(tái)或BizTal案例分析主要集成模式DeadLetter可用技術(shù)MessageBroker模式下的應(yīng)用特點(diǎn)Queue+自定義補(bǔ)發(fā)處理Queue自己可以對(duì)發(fā)送失敗的消息臨時(shí)落地到本地其他隊(duì)列,此時(shí)可以用自定義的補(bǔ)發(fā)進(jìn)程處理。BizTalkMessageBoxBizTalk會(huì)把消息先持久化,如果交易過(guò)長(zhǎng)或者存在錯(cuò)誤,可以通過(guò)訪問(wèn)MessageBox獲得發(fā)送失敗的信息,然后根據(jù)BizTalk的發(fā)送策略定義是否需要重發(fā)、重發(fā)何種特征的消息。SSIS/DTS在交換過(guò)程中通過(guò)定義異常流程,將發(fā)送失敗的消息保存在中間表,然后通過(guò)定制的SQLJob定期檢查重新發(fā)送。案例分析主要集成模式可用技術(shù)MessageBroker模式案例分析結(jié)合交換情景分析案例分析結(jié)合交換情景分析案例分析增加約束條件Broker采用SQLServer2005的SSIS,他直接通過(guò)數(shù)據(jù)集成訪問(wèn)預(yù)定接收的數(shù)據(jù)庫(kù),并且將信息寫入Web門戶的內(nèi)容數(shù)據(jù)庫(kù)和短信平臺(tái)的消息庫(kù);“通知生成服務(wù)”退化為SSIS的存儲(chǔ)過(guò)程和SQLJob;Proxy采用Broker服務(wù)器網(wǎng)絡(luò)NAT的方式,在分支企業(yè)的外部網(wǎng)提供一個(gè)新的IP地址,保證辦公網(wǎng)和外部網(wǎng)的應(yīng)用都可以以“VLAN內(nèi)部”的形式與Broker交互;短信服務(wù)與外部供應(yīng)商采用MSMQ+計(jì)劃任務(wù)的方式,計(jì)劃任務(wù)其實(shí)要執(zhí)行一個(gè)本地.vbs文件,每次執(zhí)行都從失敗隊(duì)列的文件夾把文件Cut到發(fā)送隊(duì)列的文件夾,如果檢查某個(gè)文件創(chuàng)建時(shí)間與最近修改時(shí)間隔大于2小時(shí),那么就認(rèn)為是死信,交給后面的電話通知機(jī)制處理;案例分析增加約束條件其他推薦的資料DesignPatterns:ElementsofReusableObject-OrientedSoftwarePatternsofEnterpriseApplicationArchitectureEnterpriseIntegrationPatternsDataPatterns

/en-us/library/ms998461.aspxAJAXPatterns

/PatternsDesignPatternsfor.NET

/EnterpriseLibrary

/entlibSecurityPattern

/其他推薦的資料設(shè)計(jì)模式與工程實(shí)踐王翔(VisionWang)Architect(.NET,XML,PKI)2009-01-17設(shè)計(jì)模式與工程實(shí)踐王翔(VisionWang)個(gè)人資料王翔軟件架構(gòu)師,主要從事.NET、XML、公鑰基礎(chǔ)設(shè)施的開(kāi)發(fā)。專注于數(shù)據(jù)(尤其是XML信息)的生產(chǎn)、加工、交換、提煉等過(guò)程。此外,參與了一系列有關(guān)應(yīng)用密碼技術(shù)和PKI環(huán)境保護(hù)信息系統(tǒng)數(shù)據(jù)安全的項(xiàng)目。最喜歡數(shù)學(xué),平常案頭總是擺一本數(shù)學(xué)練習(xí)題。閑暇時(shí)間喜歡寫作,通過(guò)發(fā)表多種技術(shù)文章與國(guó)內(nèi)外同行交流各種數(shù)據(jù)應(yīng)用經(jīng)驗(yàn)。項(xiàng)目間隙經(jīng)常到各海濱城市徒步旅行、野外露營(yíng)、出海航行、極限運(yùn)動(dòng)。座右銘:天行健,君子以自強(qiáng)不息。個(gè)人資料王翔Agenda簡(jiǎn)介GoF23與工程實(shí)踐案例分析其他Agenda簡(jiǎn)介簡(jiǎn)介當(dāng)你要開(kāi)發(fā)一個(gè)小型的系統(tǒng),整個(gè)系統(tǒng)只有兩三人開(kāi)發(fā),系統(tǒng)活不過(guò)5年,商業(yè)邏輯單純,程序代碼不超過(guò)萬(wàn)行,這時(shí),你隨便做,影響不大。反之,若要架構(gòu)大型系統(tǒng),你需要慎思,套用模型與架構(gòu),將前人的經(jīng)驗(yàn)當(dāng)作基石,這樣系統(tǒng)設(shè)計(jì)才不至于陷入發(fā)散。然而,你不會(huì)一開(kāi)始就做大系統(tǒng),風(fēng)險(xiǎn)太高。所以,要練習(xí),最好從小系統(tǒng)開(kāi)始使用模型與架構(gòu),如此才能檢討與學(xué)習(xí),日后方能在大系統(tǒng)中自如運(yùn)用?!对O(shè)計(jì)模式——基于C#的工程化實(shí)現(xiàn)及擴(kuò)展》序胡百敬簡(jiǎn)介當(dāng)你要開(kāi)發(fā)一個(gè)小型的系統(tǒng),整個(gè)系統(tǒng)只有兩三人開(kāi)發(fā),系統(tǒng)活簡(jiǎn)介系統(tǒng)分析與設(shè)計(jì)是門藝術(shù),問(wèn)題的解法與何為問(wèn)題是交織的,而各模式的搭配使用技巧不同,存乎一心,需要巧思與反復(fù)琢磨,方可有好的解法。本書(shū)立意明確,除了告訴你問(wèn)題的類型與解法,還提供了可以立即演繹的程序代碼。相信這本案頭的工具書(shū)可以提供你一個(gè)不錯(cuò)的深思起點(diǎn),造就有彈性、能擴(kuò)充、易維護(hù)的軟件實(shí)力?!对O(shè)計(jì)模式——基于C#的工程化實(shí)現(xiàn)及擴(kuò)展》序胡百敬簡(jiǎn)介系統(tǒng)分析與設(shè)計(jì)是門藝術(shù),問(wèn)題的解法與何為問(wèn)題是交織的,而簡(jiǎn)介設(shè)計(jì)模式可以當(dāng)做軟件開(kāi)發(fā)中的獨(dú)孤九劍。在軟件設(shè)計(jì)中最大的敵人就是需求不斷的變化,需求變化無(wú)休無(wú)止,軟件交付日期也就無(wú)限期的延遲。我們無(wú)法做到以不變應(yīng)萬(wàn)變,但如果能提前預(yù)見(jiàn)到一些變化,就能用很小的代價(jià)來(lái)應(yīng)對(duì)劇烈的變化。GOF總結(jié)的經(jīng)典設(shè)計(jì)模式雖只有23種,但不管是創(chuàng)建型模式、結(jié)構(gòu)型模式還是行為型模式,歸根結(jié)底都是在尋找軟件中可能的變化,并封裝這些變化?!傲蠑硻C(jī)先”為設(shè)計(jì)模式精髓之一,只不過(guò)這里的敵是需求的變化而已。對(duì)于設(shè)計(jì)模式如果不能夠做到靈活自如的運(yùn)用,不僅威力大減,甚至于弄巧成拙,“活學(xué)活用”為設(shè)計(jì)模式精髓之二。《設(shè)計(jì)模式——基于C#的工程化實(shí)現(xiàn)及擴(kuò)展》序李會(huì)軍簡(jiǎn)介設(shè)計(jì)模式可以當(dāng)做軟件開(kāi)發(fā)中的獨(dú)孤九劍。在軟件設(shè)計(jì)中最大的簡(jiǎn)介設(shè)計(jì)模式無(wú)處不在模式不是框架,不能套用模式也不是過(guò)程,模式也不是簡(jiǎn)單的“問(wèn)題的解決方案”系統(tǒng)的設(shè)計(jì)也不是含有設(shè)計(jì)模式就好更不是含有越多的設(shè)計(jì)模式就越好簡(jiǎn)介設(shè)計(jì)模式無(wú)處不在簡(jiǎn)介真正為軟件設(shè)計(jì)界帶來(lái)系統(tǒng)化設(shè)計(jì)模式思維的是DesignPatterns:ElementsofReusableObject-OrientedSoftware此后各個(gè)領(lǐng)域開(kāi)始出現(xiàn)各種模式化思維成例數(shù)據(jù)及數(shù)據(jù)庫(kù)架構(gòu)實(shí)時(shí)系統(tǒng)集成Web/AJAX……簡(jiǎn)介真正為軟件設(shè)計(jì)界帶來(lái)系統(tǒng)化設(shè)計(jì)模式思維的是簡(jiǎn)介反模式的思維決定在項(xiàng)目中使用哪一種設(shè)計(jì)模式一位開(kāi)發(fā)人員通過(guò)介紹希望在一項(xiàng)工程中使用設(shè)計(jì)模式開(kāi)發(fā)人員通過(guò)包括設(shè)計(jì)模式的最佳實(shí)踐來(lái)改進(jìn)項(xiàng)目的渴望開(kāi)發(fā)人員天生的好奇心驅(qū)使他利用這個(gè)項(xiàng)目來(lái)研究設(shè)計(jì)模式項(xiàng)目中應(yīng)用了所有知名的設(shè)計(jì)模式項(xiàng)目團(tuán)隊(duì)和交付的應(yīng)用程序由于不自然地引入太多設(shè)計(jì)模式而遭受損失。不必要的復(fù)雜性會(huì)從已經(jīng)完成的工作量、開(kāi)發(fā)團(tuán)隊(duì)了解發(fā)生事情的能力、應(yīng)用程序的實(shí)際性能和功能的正確性等方面影響開(kāi)發(fā)成果設(shè)計(jì)模式是專業(yè)知識(shí)的主要來(lái)源,盡管使用他們的效果很好,但是全部使用他們就未必也是好的簡(jiǎn)介反模式的思維簡(jiǎn)介實(shí)際解決方案設(shè)計(jì)模式的描述包含了使用模式的目標(biāo)語(yǔ)境,必須考慮如何確保設(shè)計(jì)模式匹配項(xiàng)目設(shè)計(jì)模式不是來(lái)源于當(dāng)某人閱讀了一本設(shè)計(jì)模式的著作后,問(wèn):“我可以把這個(gè)設(shè)計(jì)模式使用在什么地方?”而是來(lái)源于某人尋找已發(fā)現(xiàn)問(wèn)題的解決方案簡(jiǎn)介實(shí)際解決方案GoF23與工程實(shí)踐CreationalAbstractFactoryBuilderFactoryMethodPrototypeSingletonCreatesaninstanceofseveralfamiliesofclassesSeparatesobjectconstructionfromitsrepresentationCreatesaninstanceofseveralderivedclassesAfullyinitializedinstancetobecopiedorclonedAclassofwhichonlyasingleinstancecanexistStructuralAdapterBridgeCompositeDecoratorFacadeFlyweightProxyMatchinterfacesofdifferentclassesSeparatesanobject’sinterfacefromitsimplementationAtreestructureofsimpleandcompositeobjectsAddresponsibilitiestoobjectsdynamicallyAsingleclassthatrepresentsanentiresubsystemAfine-grainedinstanceusedforefficientsharingAnobjectrepresentinganotherobjectBehavioralCoRCommandInterpreterIteratorMediatorMementoObserverStateStrategyTemplateMethodVisitorAwayofpassingarequestbetweenachainofobjectsEncapsulateacommandrequestasanobjectAwaytoincludelanguageelementsinaprogramSequentiallyaccesstheelementsofacollectionDefinessimplifiedcommunicationbetweenclassesCaptureandrestoreanobject'sinternalstateAwayofnotifyingchangetoanumberofclassesAlteranobject'sbehaviorwhenitsstatechangesEncapsulatesanalgorithminsideaclassDefertheexactstepsofanalgorithmtoasubclassDefinesanewoperationtoaclasswithoutchangeGoF23與工程實(shí)踐CreationalAbstractFGoF23與工程實(shí)踐設(shè)計(jì)模式是一種設(shè)計(jì)思想,表達(dá)這種思想最簡(jiǎn)潔的方式就是UML+Demo就夠了。但Demo和實(shí)際工程應(yīng)用還是有一段差距的,原因不多,但每一個(gè)都需要在Demo之余好好考慮:此外,設(shè)計(jì)模式的一個(gè)亮點(diǎn)就是提高代碼的可重用性,如果設(shè)計(jì)一套比較適合實(shí)際工程使用的設(shè)計(jì)模式庫(kù),可以節(jié)省八股式反復(fù)Demo的工作。GoF23與工程實(shí)踐設(shè)計(jì)模式是一種設(shè)計(jì)思想,表達(dá)這種思想最簡(jiǎn)GoF23與工程實(shí)踐工程中設(shè)計(jì)模式總是結(jié)合某些開(kāi)發(fā)語(yǔ)言而每種語(yǔ)言本身都有自己的特點(diǎn)C++、C#、Java、DelphiVB、VisualFox、COBOLSQL、XQueryJavaScript、VBScript、ActionScript、PowerShellPython、Perl、Ruby、PHPF#XML、HTML、BPEL……GoF23與工程實(shí)踐工程中設(shè)計(jì)模式總是結(jié)合某些開(kāi)發(fā)語(yǔ)言GoF23與工程實(shí)踐領(lǐng)域建模階段的模式化特征分析GoF23與工程實(shí)踐領(lǐng)域建模階段的模式化特征分析GoF23與工程實(shí)踐的章節(jié)安排GoF23與工程實(shí)踐的章節(jié)安排GoF23與工程實(shí)踐工程中實(shí)踐設(shè)計(jì)模式的感受打破一些固有的套路用自己習(xí)慣的語(yǔ)言以簡(jiǎn)潔、直接的手段解決易于變化的問(wèn)題不要僅僅將依賴關(guān)系定格在對(duì)象體系,更多考慮到應(yīng)用開(kāi)發(fā)、運(yùn)維不同生命周期中參與者的工作特點(diǎn),將依賴拓寬到對(duì)象、配置體系、數(shù)據(jù)存儲(chǔ)和服務(wù)體系面向Web、面向混合信息體系、面向服務(wù)GoF23與工程實(shí)踐工程中實(shí)踐設(shè)計(jì)模式的感受GoF23與工程實(shí)踐開(kāi)發(fā)人員個(gè)性與設(shè)計(jì)模式的關(guān)系程序開(kāi)發(fā)人員在對(duì)待自己工作的時(shí)候總或多或少有些“至于至善”得心結(jié)代碼、類庫(kù)、應(yīng)用框架不僅僅是老板和項(xiàng)目經(jīng)理眼中的產(chǎn)品,更是我們敝帚自珍的工作成果但修改自己的代碼,尤其是因?yàn)樯嫌涡枨蟛淮_定帶來(lái)這種壓力的時(shí)候,總不是那么愉快地經(jīng)歷我們要借鑒并應(yīng)用那些成熟的套路,將變化抽象并集中在幾個(gè)點(diǎn),然后把他們交給運(yùn)維人員來(lái)處理,而我們更多把時(shí)間放在創(chuàng)造性工作模式是現(xiàn)成的,但實(shí)現(xiàn)套路您自己的GoF23與工程實(shí)踐開(kāi)發(fā)人員個(gè)性與設(shè)計(jì)模式的關(guān)系案例分析案例分析案例分析收集所有可能涉及的運(yùn)行系統(tǒng)案例分析收集所有可能涉及的運(yùn)行系統(tǒng)案例分析多種方式“圈”定涉及的系統(tǒng)案例分析多種方式“圈”定涉及的系統(tǒng)案例分析案例分析案例分析案例分析案例分析主要集成模式P2P可用技術(shù)P2P模式下的應(yīng)用特點(diǎn)ADO、ADO.NET通過(guò)ADO/ADO.NET完成對(duì)關(guān)系數(shù)據(jù)庫(kù)、活動(dòng)目錄的訪問(wèn)和修改DTS/SSIS直接從某系統(tǒng)的數(shù)據(jù)庫(kù)層次向目標(biāo)系統(tǒng)寫入信息COM+在需要嚴(yán)格事務(wù)性保證的環(huán)境下,通過(guò)COM+完成包括復(fù)雜邏輯的集成工作WebService通過(guò)專用的WS定義,實(shí)現(xiàn)面向具體數(shù)據(jù)結(jié)構(gòu)基于URI的訪問(wèn)案例分析主要集成模式可用技術(shù)P2P模式下的應(yīng)用特點(diǎn)ADO、A案例分析主要集成模式MessageBroker可用技術(shù)MessageBroker模式下的應(yīng)用特點(diǎn)企業(yè)定制的交換平臺(tái)提供對(duì)包括ORACLE、SQLServer、MySQL、WMI、FILE、ADSI、MSMQ、MessageQ、MQ等各種數(shù)據(jù)源的支持,并提供統(tǒng)一基于配置的處理能力,最好默認(rèn)提供線程池化的并行處理能力,有獨(dú)立的監(jiān)控手段和監(jiān)控工具、提供豐富的定制處理流程APIDTS/SSIS提供豐富的管理、配置、集成和定制開(kāi)發(fā)的API,有MOM和WMI等完善的監(jiān)控機(jī)制,有良好的結(jié)構(gòu)化異常處理能力,有友好的設(shè)計(jì)界面COM+可以提供不同DCOM對(duì)象和支持COM接口對(duì)象的開(kāi)發(fā),適于處理對(duì)遺留系統(tǒng)的集成封裝BizTalkServer適于大型的Broker環(huán)境,與活動(dòng)目錄環(huán)境集成,具有良好的高可用能力,配置、管理、監(jiān)控、消息追蹤、數(shù)據(jù)映射和集成流程編排都有不錯(cuò)的支持。不過(guò)相應(yīng)的學(xué)習(xí)成本較高,對(duì)運(yùn)維人員技術(shù)要求也比較高。案例分析主要

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論