




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、設(shè)計模式與UML之結(jié)構(gòu)型模式第十講 行為型模式總結(jié)講師:風(fēng)中葉講師:風(fēng)中葉風(fēng)中葉、 浪曦網(wǎng)版權(quán)所有第第2頁頁目錄裝飾模式門面模式享元模式代理模式組合模式橋接模式適配器模式第第3頁頁開發(fā)環(huán)境Visual Studio 2008StarUML行為型模式總結(jié)行為模式主要強(qiáng)調(diào)的是權(quán)責(zé)分離以及算法的抽象。設(shè)計模式切不可濫行為模式主要強(qiáng)調(diào)的是權(quán)責(zé)分離以及算法的抽象。設(shè)計模式切不可濫用,每個模式都有自己適用的場景以及自己的優(yōu)缺點,合理的選擇它用,每個模式都有自己適用的場景以及自己的優(yōu)缺點,合理的選擇它們需要對理論知識進(jìn)行熟練的掌握們需要對理論知識進(jìn)行熟練的掌握不變模式(不變模式(ImmutableImmut
2、able)采用不變模式的類一旦初始化后,其狀態(tài)就不再改變了。這意采用不變模式的類一旦初始化后,其狀態(tài)就不再改變了。這意味著不變模式不能提供任何的修改內(nèi)部屬性的方法,一旦構(gòu)造函數(shù)構(gòu)味著不變模式不能提供任何的修改內(nèi)部屬性的方法,一旦構(gòu)造函數(shù)構(gòu) 造完后其內(nèi)部狀態(tài)就保持不變。又分為強(qiáng)不變模式和弱不變模式,區(qū)造完后其內(nèi)部狀態(tài)就保持不變。又分為強(qiáng)不變模式和弱不變模式,區(qū)別在于其子類是否也是不變的,準(zhǔn)確的來說是其子類也不能修改父不別在于其子類是否也是不變的,準(zhǔn)確的來說是其子類也不能修改父不變類的狀態(tài)。當(dāng)然為了方便變類的狀態(tài)。當(dāng)然為了方便 我們可以索性設(shè)置為我們可以索性設(shè)置為sealedsealed。 不變類
3、的好處在于允許任何多的對象共享,不需要在多線程訪問不變類的好處在于允許任何多的對象共享,不需要在多線程訪問的時候進(jìn)行同步。缺點在于一旦要修改不變對象,只有重新創(chuàng)建一個的時候進(jìn)行同步。缺點在于一旦要修改不變對象,只有重新創(chuàng)建一個新的實例。需要頻繁修改的對象不能使用不變模式。享元模式中的享新的實例。需要頻繁修改的對象不能使用不變模式。享元模式中的享元對象多為不變類元對象多為不變類第第5頁頁2022年4月19日策略模式(策略模式(StrategyStrategy)策略模式封裝了一組有共同接口的算法,算法可以動態(tài)的替換策略模式封裝了一組有共同接口的算法,算法可以動態(tài)的替換。他將算法的責(zé)任和算法本身分離
4、開來。策略模式能夠很好的避免使。他將算法的責(zé)任和算法本身分離開來。策略模式能夠很好的避免使用多重條件轉(zhuǎn)移語句。當(dāng)有新的算法或者邏輯,只要實現(xiàn)該策略接口用多重條件轉(zhuǎn)移語句。當(dāng)有新的算法或者邏輯,只要實現(xiàn)該策略接口就能很好的插入到程序中去。就能很好的插入到程序中去。 在重構(gòu)的時候,可以檢查項目中是否有臃腫的方法,方法內(nèi)部如在重構(gòu)的時候,可以檢查項目中是否有臃腫的方法,方法內(nèi)部如果有很多條件判斷語句,同時每個判斷對應(yīng)一些行為邏輯。這時候可果有很多條件判斷語句,同時每個判斷對應(yīng)一些行為邏輯。這時候可以考慮將該以考慮將該ifif或者或者switchswitch下對應(yīng)的行為邏輯抽象出一個接口,然后利下對應(yīng)
5、的行為邏輯抽象出一個接口,然后利用策略模式進(jìn)行重構(gòu)。用策略模式進(jìn)行重構(gòu)。第第6頁頁2022年4月19日第第7頁頁2022年4月19日模板方法模式(模板方法模式(Template MethodTemplate Method)模板方法實現(xiàn)了抽象類和具體方法,然后再抽象出一些到子類實現(xiàn)的模板方法實現(xiàn)了抽象類和具體方法,然后再抽象出一些到子類實現(xiàn)的方法(通常該具體方法調(diào)用了尚未實現(xiàn)的抽象方法)。不同的子類可方法(通常該具體方法調(diào)用了尚未實現(xiàn)的抽象方法)。不同的子類可以有不同的實現(xiàn)。模板方法中大的邏輯(具體方法中調(diào)用抽象方法的以有不同的實現(xiàn)。模板方法中大的邏輯(具體方法中調(diào)用抽象方法的順序)不變,但是子
6、類通過不同的實現(xiàn)使得大的邏輯有不同的效果。順序)不變,但是子類通過不同的實現(xiàn)使得大的邏輯有不同的效果。第第8頁頁2022年4月19日第第9頁頁2022年4月19日觀察者模式(觀察者模式(ObserverObserver)觀察者模式在主題(被觀察者)對象狀態(tài)發(fā)生變更后會通知所觀察者模式在主題(被觀察者)對象狀態(tài)發(fā)生變更后會通知所有的觀察者對象。主題一旦發(fā)生有的觀察者對象。主題一旦發(fā)生changechange事件,則調(diào)用所有觀察者對象事件,則調(diào)用所有觀察者對象的的updateupdate方法。訂閱和移除則通過添加和移除觀察者對象來實現(xiàn)。方法。訂閱和移除則通過添加和移除觀察者對象來實現(xiàn)。 主要適用于
7、對象狀態(tài)發(fā)生變更后或者觸發(fā)了某個事件后,會有不主要適用于對象狀態(tài)發(fā)生變更后或者觸發(fā)了某個事件后,會有不同的別的對象要隨之改變,或者處理該事件。同的別的對象要隨之改變,或者處理該事件。.Net.Net的事件實際上也是的事件實際上也是觀察者模式,他通過觀察者模式,他通過+ -+ -來實現(xiàn)添加訂閱和移除訂閱。來實現(xiàn)添加訂閱和移除訂閱。第第10頁頁2022年4月19日第第11頁頁2022年4月19日迭代模式(迭代模式(IteratorIterator)迭代模式將數(shù)據(jù)集合與對它進(jìn)行的訪問行為進(jìn)行了分離。也就迭代模式將數(shù)據(jù)集合與對它進(jìn)行的訪問行為進(jìn)行了分離。也就是說使得數(shù)據(jù)的訪問方式得到了統(tǒng)一,不用關(guān)心數(shù)
8、據(jù)的來是說使得數(shù)據(jù)的訪問方式得到了統(tǒng)一,不用關(guān)心數(shù)據(jù)的來 源。源。.Net.Net內(nèi)置了迭代模式的支持:內(nèi)置了迭代模式的支持:IEnumeratorIEnumerator接口和接口和IEnumerableIEnumerable,foreachforeach就是利用了就是利用了IEnumerableIEnumerable提供的提供的 IEnumerator IEnumerator來實現(xiàn)。一般來說,迭來實現(xiàn)。一般來說,迭代實現(xiàn)類一般要對數(shù)據(jù)集有一定的訪問權(quán)限,但是數(shù)據(jù)集又要限制外代實現(xiàn)類一般要對數(shù)據(jù)集有一定的訪問權(quán)限,但是數(shù)據(jù)集又要限制外界對其的訪問,這時候可以使用內(nèi)部類的形式來實現(xiàn)雙重接口。在某
9、界對其的訪問,這時候可以使用內(nèi)部類的形式來實現(xiàn)雙重接口。在某些情況下數(shù)據(jù)集和迭代實現(xiàn)類可以合并。這時候些情況下數(shù)據(jù)集和迭代實現(xiàn)類可以合并。這時候IEnumerableIEnumerable返回的返回的IEnumeratorIEnumerator就成了就成了thisthis。第第12頁頁2022年4月19日第第13頁頁2022年4月19日責(zé)任鏈模式(責(zé)任鏈模式(Chain of ResponsibilityChain of Responsibility)責(zé)任鏈模式通過引用將很多個處理者串聯(lián)起來,由實際情況來責(zé)任鏈模式通過引用將很多個處理者串聯(lián)起來,由實際情況來決定哪個處理者來具體的處理。處理者可
10、以選擇將當(dāng)前事件交由后續(xù)決定哪個處理者來具體的處理。處理者可以選擇將當(dāng)前事件交由后續(xù) 處理者處理,或者選擇自己處理,或者終止處理。純的責(zé)任鏈要求只處理者處理,或者選擇自己處理,或者終止處理。純的責(zé)任鏈要求只有一個處理者處理,但是在現(xiàn)實中不太可能。往往是某個處理者處理有一個處理者處理,但是在現(xiàn)實中不太可能。往往是某個處理者處理部分,然后多個處理者共同部分,然后多個處理者共同 完成處理。完成處理。 將該模式擴(kuò)展開來,處理者可以不引用另外一個處理者,而新增將該模式擴(kuò)展開來,處理者可以不引用另外一個處理者,而新增一個類。該類持有一個鏈表,鏈表中裝載了不同的處理者,通過順序一個類。該類持有一個鏈表,鏈表
11、中裝載了不同的處理者,通過順序循環(huán)來進(jìn)行逐一處理。責(zé)任鏈模循環(huán)來進(jìn)行逐一處理。責(zé)任鏈模 式對于架構(gòu)來說是一個很好的模式式對于架構(gòu)來說是一個很好的模式。通過上下文將狀態(tài)和信息封裝起來,然后在處理鏈中傳遞。通過上下文將狀態(tài)和信息封裝起來,然后在處理鏈中傳遞。第第14頁頁2022年4月19日第第15頁頁2022年4月19日命令模式(命令模式(CommandCommand)命令模式將發(fā)出命令的責(zé)任與執(zhí)行命令的責(zé)任分離開來。該模命令模式將發(fā)出命令的責(zé)任與執(zhí)行命令的責(zé)任分離開來。該模式粗看起來非常的不必要,本來直接調(diào)用接收方的相應(yīng)方法即可,現(xiàn)式粗看起來非常的不必要,本來直接調(diào)用接收方的相應(yīng)方法即可,現(xiàn) 在
12、多此一舉通過中間調(diào)用。但是這樣的好處是提供了一個執(zhí)行命令的在多此一舉通過中間調(diào)用。但是這樣的好處是提供了一個執(zhí)行命令的統(tǒng)一接口。這樣可以通過統(tǒng)一的接口來有效的管理命令,甚至建立一統(tǒng)一接口。這樣可以通過統(tǒng)一的接口來有效的管理命令,甚至建立一個命令隊列。如果直接操作接收方的方法的話就不利于管理。個命令隊列。如果直接操作接收方的方法的話就不利于管理。 命令模式可以通過在命令模式可以通過在CommandCommand內(nèi)部存儲當(dāng)前狀態(tài),來實現(xiàn)內(nèi)部存儲當(dāng)前狀態(tài),來實現(xiàn)undoundo命令命令。當(dāng)某些命令執(zhí)行時間很長,而且需要順序執(zhí)行時可以考慮使用命令。當(dāng)某些命令執(zhí)行時間很長,而且需要順序執(zhí)行時可以考慮使用
13、命令模式。這種情況下模式。這種情況下 Invoker Invoker的生命周期可以很短,命令對象存在即可的生命周期可以很短,命令對象存在即可。命令模式的缺點就是需要產(chǎn)生大量的命令子類來轉(zhuǎn)發(fā)真正的執(zhí)行方。命令模式的缺點就是需要產(chǎn)生大量的命令子類來轉(zhuǎn)發(fā)真正的執(zhí)行方。第第16頁頁2022年4月19日第第17頁頁2022年4月19日備忘錄模式(備忘錄模式(MementoMemento)備忘錄模式用一個備忘錄模式用一個CaretakerCaretaker對象來保存發(fā)起者對象來保存發(fā)起者OriginatorOriginator的的MementoMemento狀態(tài)??梢栽谛枰臅r候隨時從狀態(tài)。可以在需要的時
14、候隨時從CaretakerCaretaker取回快照進(jìn)行取回快照進(jìn)行 恢恢復(fù)。下圖為白箱的備忘錄模式,此時保存者復(fù)。下圖為白箱的備忘錄模式,此時保存者caretakercaretaker保存的快照是保存的快照是可以被外部修改的。這樣其實破壞了封裝性??梢员煌獠啃薷牡?。這樣其實破壞了封裝性。 在改良的備忘錄模式中,我們可以把在改良的備忘錄模式中,我們可以把MementoMemento作為作為OriginatorOriginator的私的私有內(nèi)部類。同時實現(xiàn)一個空的有內(nèi)部類。同時實現(xiàn)一個空的publicpublic標(biāo)志接口標(biāo)志接口IMementoIMemento,對于,對于 OriginatorO
15、riginator它可以將它可以將IMementoIMemento轉(zhuǎn)換為轉(zhuǎn)換為MementoMemento,而對于,而對于CaretakerCaretaker來說來說,保存的就是一個空的接口了。有時候備忘錄模式是可以,保存的就是一個空的接口了。有時候備忘錄模式是可以 將多個角將多個角色合并的。保存者也可以保存多個對象。色合并的。保存者也可以保存多個對象。第第18頁頁2022年4月19日第第19頁頁2022年4月19日狀態(tài)模式(狀態(tài)模式(StateState)狀態(tài)模式允許狀態(tài)發(fā)生變化時,行為也發(fā)生變化。它封裝了不狀態(tài)模式允許狀態(tài)發(fā)生變化時,行為也發(fā)生變化。它封裝了不同狀態(tài)下的不同的行為。狀態(tài)模式
16、從同狀態(tài)下的不同的行為。狀態(tài)模式從UMLUML圖上來說跟策略模式非常的圖上來說跟策略模式非常的相似。只能從它的語義上來區(qū)相似。只能從它的語義上來區(qū) 分,策略模式一般來說封裝了不同的分,策略模式一般來說封裝了不同的邏輯和算法,它的持有者選擇了策略后基本不會變化。而狀態(tài)模式的邏輯和算法,它的持有者選擇了策略后基本不會變化。而狀態(tài)模式的持有者一般會發(fā)生狀態(tài)的轉(zhuǎn)移。區(qū)別的另外一點在于封裝的對象是否持有者一般會發(fā)生狀態(tài)的轉(zhuǎn)移。區(qū)別的另外一點在于封裝的對象是否存在狀態(tài)的連續(xù)關(guān)系,或者還是只是幾個不相關(guān)的平等的行為。存在狀態(tài)的連續(xù)關(guān)系,或者還是只是幾個不相關(guān)的平等的行為。第第20頁頁2022年4月19日第第
17、21頁頁2022年4月19日訪問者模式(訪問者模式(VisitorVisitor)訪問者模式利用了雙重分派。先將訪問者傳入節(jié)點訪問者模式利用了雙重分派。先將訪問者傳入節(jié)點AcceptAccept方法方法中,然后節(jié)點對象再將自己傳入訪問者,之后訪問者執(zhí)行節(jié)點的相應(yīng)中,然后節(jié)點對象再將自己傳入訪問者,之后訪問者執(zhí)行節(jié)點的相應(yīng)方法。方法。 訪問者模式多用在聚集類型多樣的情況下,比如訪問者模式多用在聚集類型多樣的情況下,比如ArrayListArrayList裝載了裝載了多個數(shù)據(jù)類型,普通的形式下。必須一個個的判斷屬于什么類型然后多個數(shù)據(jù)類型,普通的形式下。必須一個個的判斷屬于什么類型然后進(jìn)行相應(yīng)的操
18、作,從而誕生出冗長的條件轉(zhuǎn)移語句。而訪問者模式則進(jìn)行相應(yīng)的操作,從而誕生出冗長的條件轉(zhuǎn)移語句。而訪問者模式則可以比較好的解決這個問題。對每個元素統(tǒng)一調(diào)用可以比較好的解決這個問題。對每個元素統(tǒng)一調(diào)用node.Accept(vistor)node.Accept(vistor)即可。訪問者模式多用即可。訪問者模式多用 于被訪問的類結(jié)構(gòu)比較于被訪問的類結(jié)構(gòu)比較穩(wěn)定的情況下,意即不會隨便添加子類。訪問者模式允許被訪問結(jié)構(gòu)穩(wěn)定的情況下,意即不會隨便添加子類。訪問者模式允許被訪問結(jié)構(gòu)添加新的方法。訪問者模式可用于對添加新的方法。訪問者模式可用于對HTMLHTML的的DOMDOM訪問。訪問。第第22頁頁202
19、2年4月19日第第23頁頁2022年4月19日解釋器模式(解釋器模式(InterpreterInterpreter)解釋器模式封裝了文法的表達(dá)式,同時提供了文法的解釋器。解釋器模式封裝了文法的表達(dá)式,同時提供了文法的解釋器。客戶端可以通過組合文法表達(dá)式來構(gòu)建一個復(fù)合行為,然后調(diào)用解釋客戶端可以通過組合文法表達(dá)式來構(gòu)建一個復(fù)合行為,然后調(diào)用解釋器進(jìn)行解釋執(zhí)行。文法表達(dá)式一般分為終結(jié)符表達(dá)式和非終結(jié)符表達(dá)器進(jìn)行解釋執(zhí)行。文法表達(dá)式一般分為終結(jié)符表達(dá)式和非終結(jié)符表達(dá)式。式。 解釋器模式適用于有一些重復(fù)發(fā)生的問題,提供一個簡單的語言解釋器模式適用于有一些重復(fù)發(fā)生的問題,提供一個簡單的語言會很方便的情況
20、。它的缺點就是可能效率會有點影響。會很方便的情況。它的缺點就是可能效率會有點影響。第第24頁頁2022年4月19日第第25頁頁2022年4月19日調(diào)停者模式(調(diào)停者模式(MediatorMediator)調(diào)停者模式將一系列的成員對象通過調(diào)停者對象來進(jìn)行協(xié)調(diào),調(diào)停者模式將一系列的成員對象通過調(diào)停者對象來進(jìn)行協(xié)調(diào),使得成員內(nèi)部之間可以協(xié)調(diào)工作但是不需要互相通信。一個典型的形使得成員內(nèi)部之間可以協(xié)調(diào)工作但是不需要互相通信。一個典型的形容方式就是火車調(diào)度室,各個火車與調(diào)度室通信而不用關(guān)心別的火車容方式就是火車調(diào)度室,各個火車與調(diào)度室通信而不用關(guān)心別的火車的運行狀況。當(dāng)成員增加時,調(diào)停者也需要相應(yīng)的改變
21、。所以調(diào)用者的運行狀況。當(dāng)成員增加時,調(diào)停者也需要相應(yīng)的改變。所以調(diào)用者模式不可以濫用。模式不可以濫用。 第第26頁頁2022年4月19日第第27頁頁2022年4月19日設(shè)計原則設(shè)計原則第第28頁頁2022年4月19日開閉原則(開閉原則(OCPOCP)開閉原則指的是:對擴(kuò)展開放,對修改關(guān)閉。它是面向?qū)ο笤O(shè)計的目開閉原則指的是:對擴(kuò)展開放,對修改關(guān)閉。它是面向?qū)ο笤O(shè)計的目標(biāo)。標(biāo)。解決問題的關(guān)鍵是抽象化,用兩個關(guān)鍵詞表述則是:解決問題的關(guān)鍵是抽象化,用兩個關(guān)鍵詞表述則是:接口:方法特性的集合,可插入性接口:方法特性的集合,可插入性抽象類:類型的共同特性。抽象類應(yīng)該擁有盡可能多的共同代碼,盡抽象類:
22、類型的共同特性。抽象類應(yīng)該擁有盡可能多的共同代碼,盡可能少的數(shù)據(jù)。具體類不是用來繼承的。可能少的數(shù)據(jù)。具體類不是用來繼承的。系統(tǒng)應(yīng)該滿足在不修改現(xiàn)有模塊的提前下,很好的被擴(kuò)展。其中一個系統(tǒng)應(yīng)該滿足在不修改現(xiàn)有模塊的提前下,很好的被擴(kuò)展。其中一個重要工作就是從系統(tǒng)中尋找變化性的部分,然后將其封裝起來,當(dāng)有重要工作就是從系統(tǒng)中尋找變化性的部分,然后將其封裝起來,當(dāng)有新的需求出現(xiàn),只要實現(xiàn)新的變化部分即可。策略模式是一個很典型新的需求出現(xiàn),只要實現(xiàn)新的變化部分即可。策略模式是一個很典型的實現(xiàn)開閉原則的模式。的實現(xiàn)開閉原則的模式。第第29頁頁2022年4月19日里氏代換原則(里氏代換原則(LSPLSP
23、)里氏替換原則指的是:基類使用的地方,子類一定適用。它是繼承復(fù)里氏替換原則指的是:基類使用的地方,子類一定適用。它是繼承復(fù)用的基石。用的基石。一般來說,編譯器可以幫我們檢查語法上的問題一般來說,編譯器可以幫我們檢查語法上的問題第第30頁頁2022年4月19日依賴倒轉(zhuǎn)原則(依賴倒轉(zhuǎn)原則(DIPDIP)依賴倒轉(zhuǎn)原則指的是:要依賴于抽象,不要依賴于具體。它是面向?qū)σ蕾嚨罐D(zhuǎn)原則指的是:要依賴于抽象,不要依賴于具體。它是面向?qū)ο笤O(shè)計的具體途徑。象設(shè)計的具體途徑。實現(xiàn)過程中的具體原則是:應(yīng)當(dāng)使用接口或者抽象類進(jìn)行變量的類型實現(xiàn)過程中的具體原則是:應(yīng)當(dāng)使用接口或者抽象類進(jìn)行變量的類型聲明,參量的類型聲明,方
24、法的返回類型聲明,以及數(shù)據(jù)類型的轉(zhuǎn)換聲明,參量的類型聲明,方法的返回類型聲明,以及數(shù)據(jù)類型的轉(zhuǎn)換當(dāng)然,度的掌握也是很有必要的,依賴倒轉(zhuǎn)原則他的出發(fā)點是假設(shè)所當(dāng)然,度的掌握也是很有必要的,依賴倒轉(zhuǎn)原則他的出發(fā)點是假設(shè)所有的具體類都是會變化的,在具體系統(tǒng)中可能某些具體類是相當(dāng)穩(wěn)定有的具體類都是會變化的,在具體系統(tǒng)中可能某些具體類是相當(dāng)穩(wěn)定的,這個時候我們可以預(yù)期的話就沒必要畫蛇添足,因為抽象將導(dǎo)致的,這個時候我們可以預(yù)期的話就沒必要畫蛇添足,因為抽象將導(dǎo)致類的膨脹。類的膨脹。第第31頁頁2022年4月19日接口隔離原則(接口隔離原則(ISPISP)接口隔離原則指的的是:使用多個專門的接口比使用單一的總接口好接口隔離原則指的的是:使用多個專門的接口比使用單一的總接口好也可以理解為,類對另外一個類的依賴應(yīng)當(dāng)建立在最小的接口上,不也可以理解為,類對另外一個類的依賴應(yīng)當(dāng)建立在最小的接口上,不然很容易造成接口污染。然很容易造成接口污染。第第32頁頁2022年4月19日合成合成/ /聚合復(fù)用原則(聚合復(fù)用原則(CARPCARP)合成合成/ /聚合復(fù)用原則指的是:要盡量使用合成聚合復(fù)用原則指的是:要盡量使用合成/ /聚合來復(fù)用,盡量不要聚合來復(fù)用,盡量不要
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 足療城合伙經(jīng)營合同8篇
- 花藝工程工合同5篇
- 二零二五年度獵頭咨詢服務(wù)合同范本
- 2025年黑龍江三江美術(shù)職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案一套
- 2025年商丘學(xué)院單招職業(yè)適應(yīng)性考試題庫參考答案
- 常山防腐地坪施工方案
- 2024年廣西地區(qū)中考滿分作文《給小廣的一封信》4
- 創(chuàng)意策劃合同范例
- 專題04 物態(tài)變化(4大模塊知識清單+5個易混易錯+3種方法技巧+典例真題精析)-2025年中考地理一輪復(fù)習(xí)知識清單
- 財務(wù)數(shù)據(jù)安全管理的要點計劃
- 古希臘文明-知到答案、智慧樹答案
- SYT 6968-2021 油氣輸送管道工程水平定向鉆穿越設(shè)計規(guī)范-PDF解密
- 2024年無錫商業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 交通安全宣傳意義
- 40米落地式腳手架專項施工方案
- 虛擬現(xiàn)實環(huán)境中的自然交互技術(shù)與算法
- 質(zhì)量手冊和質(zhì)量管理手冊
- 志愿服務(wù)與志愿者精神知識考試題庫大全(含答案)
- 2024年北京電子科技職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試題庫含答案解析
- 運維人員安全培訓(xùn)內(nèi)容記錄
- 獨股一箭2010年20w實盤
評論
0/150
提交評論