版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、代碼重構與設計模式課堂實驗徐海蛟博士 2016.033230 / 33實驗一工廠模式的應用【實驗目的】1)掌握工廠模式(Factory)的特點2)分析具體問題,使用工廠模式進行設計?!緦嶒瀮?nèi)容和要求】有一個OEM制造商代理做 HP筆記本電腦(Laptop),后來該制造商得到了更 多的品牌筆記本電腦的訂單 Acer、Lenovo、Dell,該OEM商發(fā)現(xiàn),如果一次同 時做很多個牌子的本本,有些不利于管理。利用工廠模式改善設計,用控制臺應 用程序實現(xiàn)該OEM制造商的工廠模式。該模式的 UML圖如下?!灸J経ML圖】止C Mint IF*0 fevlA【模式代碼(JAVA語言實現(xiàn))】public c
2、lass FactoryMethod / 主類public static void main(String口 args) Computer c;Factory f =newc = f.getComputerType();c.ComputerType();f = new LenovoFactory();11 / 33 c = f.getComputerType();c.ComputerType();f = new AcerFactory();c = f.getComputerType();c.ComputerType();interface FactoryComputer getComputer
3、Type();class DellFactory implements FactoryOverridepublic Computer getComputerType() return new Dell();class AcerFactory implements FactoryOverridepublic Computer getComputerType() return new Acer();class LenovoFactory implements FactoryOverridepublic Computer getComputerType() return new Lenovo();/
4、*電腦品牌*/interface Computerpublic void ComputerType();class Dell implements ComputerOverridepublic void ComputerType() / TODO Auto - generated method stubSystem. out .println( "Dell Computer" ); class Acer implements ComputerOverridepublic void ComputerType() System. out .println( "Acer
5、 Computer" );class Lenovo implements ComputerOverride public void ComputerType() / TODO Auto - generated method stub System. out .println( "Lenovo Computer" );【運行截圖】Dell ComputerLenovo ComputerAcer Comptiter|【實驗小結】通過本次實驗,學會了使用工廠方法模式。工廠方法模式的適用性如下: 當一個類不知道它所必須創(chuàng)建的對象的類時。當一個類希望由它的子類來指定它所創(chuàng)建
6、的對象時。當類將創(chuàng)建對象的職責委托給多個幫助子類中的某一個,并且希望將哪 一個幫助子類是代理這一信息局部化時。實驗二抽象工廠模式的應用【實驗目的】1)掌握抽象工廠模式(Abstract Factory)的特點2)分析具體問題,使用抽象工廠模式進行設計?!緦嶒瀮?nèi)容和要求】麥當勞(McDonalds)和肯彳t基(KFC)快餐店都經(jīng)營漢堡(Hamburg)和 可樂(Cola),用JAVA控制臺應用程序實現(xiàn)這兩個快餐店經(jīng)營產(chǎn)品的抽象工廠 模式。該模式的UML圖如下?!灸J経ML圖】【模式代碼】public class AbstractFactoryTest public static void mai
7、n(String口 args) Hamburg h;Cola c;AbstractFactory af =new MDNFactory(); h = af.createHamburg();c = af.createCola();h.getHumburg();c.getCola();af = new KDJFactory();h = af.createHamburg();c = af.createCola();h.getHumburg();c.getCola(); interface AbstractFactoryHamburg createHamburg();Cola createCola()
8、;class MDNFactory implements AbstractFactory Overridepublic Hamburg createHamburg() return new MDNHamburg();Overridepublic Cola createCola() return new MDNCola();class KDJFactory implements AbstractFactory Overridepublic Hamburg createHamburg() return new KDJHamburg();Overridepublic Cola createCola(
9、) return new KDJCola();/* kDJ & MDN*/interface Hamburgvoid getHumburg(); class MDNHamburg implements Hamburg Override public void getHumburg() System. out .println( "MDNHamburg"); class KDJHamburg implements Hamburg Override public void getHumburg() / TODO Auto - generated method stubS
10、ystem. out .println( interface Colavoid getCola();class MDNCola implements Overridepublic void getCola() System. out .println(class KDJCola implementsOverridepublic void getCola() System. out .println(【運行截圖】MDNHamburg MDNColaKDJHamburg KDColal"KDJHamburg");Cola"MDNCola");Cola&quo
11、t;KDJCola");【實驗小結】抽象工廠模式主要適用于以下情況:一系列要獨立于它的產(chǎn)品的創(chuàng)建、組合和表示時。、一個系統(tǒng)要由多個產(chǎn)品系列中的一個來配置時。當要強調一系列相關的產(chǎn)品對象的設計以便進行聯(lián)合使用時。當要提供一個產(chǎn)品類庫,而只要顯示它們的接口而不是實現(xiàn)時實驗三適配器模式的應用【實驗目的】1)掌握適配器模式(Adapter-)的特點2)分析具體問題,使用適配器模式進行設計?!緦嶒瀮?nèi)容和要求】一個軟件團隊開發(fā)繪圖系統(tǒng),設計了圓對象 (Circle)、矩形對象(Rectangle), 線對象(Line)都支持Draw()函數(shù),即可以通過 Draw()函數(shù)繪制圖形。為了加快項 目進
12、度,將角度對象(Angle)繪制功能交給了合作團隊實現(xiàn)。但合作團隊將角度 對象繪制函數(shù)定為了 DrawAngle()。繪圖系統(tǒng)提供給用戶后,用戶不滿意,希望 能統(tǒng)一的調用,不用記太多命令。應用適配器模式,用 JAVA控制臺應用程序完 善該設計。該模式的 UML圖如下?!灸J経MI®】Client【模式代碼】public class AdapterTest public static void main(String口 args) Paint a = new AngleAdapter();a.draw();interface Paint void draw();class Circle
13、 implements Paint Override public void draw() System. out .println( "圓圓");class Rectangle implements PaintOverride public void draw() System. out .println( "方方");class Line implements PaintOverride public void draw() System. out .println( "線線"); class Angle public void
14、DrawAngle()System. out .println( "角度");class AngleAdapter implements Paint private Angle a=new Angle(); Override public void draw() / TODO Auto - generated method stub a.DrawAngle();【運行截圖】角度【實驗小結】適配器模式主要適用于以下情況:當想要使用一個已經(jīng)存在的類,但是該類的接口不符合現(xiàn)有的需求時。當需要創(chuàng)建一個可以被復用的類,該類能夠與其他無關的類甚至無法預見的 類協(xié)同工作時。當需要使用一個
15、已經(jīng)存在的子類,但是不可能對所有的都進行子類化以匹配 他們的接口時,對象適配器可以對其父類接口進行適配。實驗四橋接模式的應用【實驗目的】1)掌握橋接模式(Bridge)的特點2)分析具體問題,使用橋接模式進行設計【實驗內(nèi)容和要求】一個咖啡店可以提供大杯(JorumCoffee)、 中杯(MediumCoffee)、 小杯 (SmallCoffee)的咖啡(Coffee),為了滿足不同用戶的口味,在咖啡中可以添加牛奶(Milk),或者糖(Sugar),或者檸檬(Lemon),提供給用戶不同口味的組合,如大 杯咖啡加牛奶,中杯咖啡加糖,小杯咖啡加檸檬,小杯咖啡加糖等。應用橋接模 式,用JAVA控制
16、臺應用程序實現(xiàn)該設計。該模式的 UML圖如下?!灸J筋悎D】I.+tFr.f f a*fj依紀工*Ctt*1 口 0 ' nidi* 釬it 城&,J 11 fi ' ftllLwuL ?【模式代碼】package Constructor;public class BridgeTest public static void main(String口 args) Bridge b; | b=new Sugar();b.setCoffee( new JorumCoffee();b.getCoffee();b=new Milk();b.setCoffee( new SmallC
17、offee(); b.getCoffee();interface Coffeevoid getCoffee();class JorumCoffee implements CoffeeOverridepublic void getCoffee() / TODO Auto - generated method stub System. out .print("大杯咖啡");class MediumCoffee implements CoffeeOverridepublic void getCoffee() / TODO Auto - generated method stub
18、System. out .print( "中杯咖啡");class SmallCoffee implements CoffeeOverridepublic void getCoffee() / TODO Auto - generated method stub System. out .print("小杯咖啡");/*配料*/abstract class Bridgeprotected Coffee c;void setCoffee(Coffee co) c=co;public void getCoffee() c.getCoffee();class S
19、ugar extends BridgeOverridepublic void getCoffee()c.getCoffee();System. out .println( "加糖");class Milkextends BridgeOverridepublicvoid getCoffee()c.getCoffee();System. out .println( "加牛奶");class Lemon extends BridgeOverridepublic void getCoffee()c.getCoffee();System. out .println
20、( "加檸檬");【運行截圖】大杯咖啡加糖小杯咖啡加牛奶|【實驗小結】橋接模式的適用情況有:當不希望在抽象和它的實現(xiàn)之間有一個固定的綁定關系時。當類的抽象以及它的實現(xiàn)都應該可以通過生成子類的方法加以擴充時 當對一個抽象類的實現(xiàn)部分的修改應對客戶不產(chǎn)生影響時。實驗五裝飾模式的應用【實驗目的】1)掌握裝飾模式(Decorator)的特點2)分析具體問題,使用裝飾模式進行設計【實驗內(nèi)容和要求】喜羊羊逃命”游戲:喜羊羊被灰太狼追,喜羊羊最多5條命,灰太狼每咬到喜羊羊一次,喜羊羊就要少一條命。在逃的過程中喜羊羊可以吃到三種蘋果,吃紅蘋果”可以給喜羊羊加上保護罩,吃 綠蘋果”可以加快喜
21、羊羊奔跑速度,吃 黃 蘋果”可以使喜羊羊趟著水跑。應用裝飾模式,用 JAVA控制臺應用程序實現(xiàn)該 設計。繪制該模式的 UML圖。提示:這個例子如果用類的繼承來實現(xiàn)的話那可就麻煩了,你需要為喜羊羊 派生3*2*1=6個子類(有保護罩的喜羊羊,奔跑速度加快的喜羊羊,會趟水的喜 羊羊,既有保護罩又會趟水的喜羊羊,奔跑速度快且會趟水的喜羊羊,有保護罩 且奔跑速度快的喜羊羊,有保護罩、奔跑速度快且會趟水的喜羊羊),如果使用 裝飾模式的那就不用派生諸多子類了,當喜羊羊每吃到一個蘋果,我們就用裝飾 模式給喜羊羊加一個動態(tài)增加一個新功能即可?!灸J筋悎D】:T -:T XVY -J:. :*5. £?
22、mi 口 i voliz!Ir Xi T iiinisy w十 Cipci Jl Lufti J I. J: Void.Evlal ilz.H. T ang VQ.Tug* Opera 11 anitS IX【模式代碼】public class DecoratorTestOI public static void main(String口 args) ConcreteXiYY cxyy=new ConcreteXiYY();ProtectXiYangyang px= ,new ProtectXiYangyang(); FastXiYangyang fx=new FastXiYangyang()
23、;SwimingXiYangyang sx= new SwimingXiYangyang(); px.setXiYangyang(cxyy);px.Operation();fx.setXiYangyang(px); fx.Operation();sx.setXiYangyang(fx); sx.Operation();interface XiYangyang public void Operation。;class ConcreteXiYY implements XiYangyangOverridepublicvoid Operation。/TODO Auto - generated meth
24、od stubSystem. out .println("喜羊羊");abstract class Decorator implements XiYangyang protected XiYangyang xyy; public void setXiYangyang(XiYangyang xyy)this . xyy =xyy;Overridepublicvoid Operation() /TODO Auto - generated method stubxyy .Operation。;class ProtectXiYangyang extends Decorator Ov
25、erridepublic void Operation。/ TODO Auto - generated method stub System. out .print( "有保護罩的"); super .Operation。;class FastXiYangyang extends Decorator Overridepublic void Operation。/ TODO Auto - generated method stub System. out .print( "加速的");super .Operation。;class SwimingXiYan
26、gyang extends Decorator Overridepublic void Operation() / TODO Auto - generated method stub System. out .print( "會游泳的"); super .Operation。;【運行截圖】有保護罩的喜羊羊加速的有保護罩的喜羊羊會游泳的加速的有保護量的喜羊羊【實驗小結】裝飾模式的適用情況有:當需要以不影響其他對象為前提實現(xiàn)動態(tài)、透明地給單個對象添加職責時當需要將對象的某些職責進行撤銷操作時。當不能用生成子類的方法進行當前系統(tǒng)的擴充時。實驗六代理模式的應用【實驗目的】1)掌握代
27、理模式(Proxy)的特點2)分析具體問題,使用代理模式進行設計。【實驗內(nèi)容和要求】生產(chǎn)商(Factory)需要銷售商品(Product),網(wǎng)上商城(E-Shop提供了一個平臺, 可以幫助銷售這些商品,獲得更大的銷量。當顧客(Custom)從網(wǎng)上商城選購商品的時候,實際是從生產(chǎn)商獲得的商品。應用代理模式,用 JAVA控制臺應用程序 改進該設計。繪制該模式的 UML圖。【模式UMI®】【實驗代碼】public class ProxyTestOI public/static void main(String口 args) TODO Auto - generated method stub
28、E_shop es= new E_shop();duct();abstract class Product public abstract void product。;class Factory extends ProductOverride public void product。/ TODO Auto - generated method stubSystem. out .println( "商品正在促銷中,滿一百減50."); class E_shop extends Product private Factory factory ; public E_s
29、hop()factory =new Factory。; Override public void product() / TODO Auto - generated method stub factory .product。;【運行截圖】商品正在促銷中,滿一百械50.【實驗小結】代理模式的有以下幾種適用情況:當需要為一個對象在不同的地址空間提供局部的代表時。當需要創(chuàng)建開銷非常大的對象時。當需要控制原始對象的訪問時。當需要再訪問對象時執(zhí)行一些附加操作時,比如通過代理對象計算訪問實際 對象的次數(shù)。實驗七觀察者模式的應用【實驗目的】1)掌握外觀模式(Observe。的特點2)分析具體問題,使用外觀模
30、式進行設計。【實驗內(nèi)容和要求】網(wǎng)上商店中如果商品(product)在名稱(name)、價格(price)等方面有變 化,系統(tǒng)能自動通知會員,將是網(wǎng)上商店區(qū)別傳統(tǒng)商店的一大特色。如何設計實 現(xiàn)?說明你所選擇的設計模式,畫出類關系圖并指明各個類的角色。應用外觀 模式,用JAVA控制臺應用程序改進該設計。繪制該模式的UML圖。【模式UML圖】【模式代碼】import java.util.ArrayList;public class ObeserverTest public static void main(String口 args) / TODO Auto - generated method st
31、ub cs.Notify();ConcreteSubject cs=new ConcreteSubject();cs.Attach( cs.Attach( cs.Attach( cs.Attach( cs.setState(new ConcreteObserver(cs, new ConcreteObserver(cs, new ConcreteObserver(cs, new ConcreteObserver(cs,"C+編程思想價錢下降"1號會員");"2號會員");"3號會員");“4號會員");100 元”
32、);abstract class Observerpublic abstract void update();class ConcreteObserver extends ObserverprivateStringname;privateStringstate ;private ConcreteSubject cs;public ConcreteSubject getConcreteSubject() return cs;public void setConcreteSubject(ConcreteSubject cs) this . cs =cs;public ConcreteObserve
33、r(ConcreteSubject cs,String name) this . cs =cs;this . name=name;Overridepublicvoid update() / TODO Auto - generated method stub state =cs .getState();System. out .println( name+"觀察到的狀態(tài)是:"+state );abstract class Subjectprivate ArrayList<Observer> observers =new ArrayList<Observer&
34、gt;();public void Attach(Observer o) observers .add(o);public void Detach(Observer o) observers .remove(o);/通知public void Notify()for ( int i = 0; i < observers .size(); i+) observers .get(i).update(); class ConcreteSubject extends Subjectprivate String state ;public void setState(String state)th
35、is . state =state;public String getState() return state ;【運行截圖】1號會員觀察到的狀態(tài)是:C+編程思想價錢下降元 2號會員觀察到的狀態(tài)是:C+編程思想價錢下降白元 3號會員觀察到的狀態(tài)是:C+編程思想價錢下降T80元 4號會員觀察到的狀態(tài)是;C+編程除意價錢下降1。0元【實驗小結】觀察者模式的適用情況有:當一個抽象模型有兩個方面,而其中一個方面必須依賴于另一個方面時。當對一個對象的改變需要同時改變其他對象但是卻不知道具體有多少個對 象等到改變時。當一個對象必須通知其他對象但是卻不能與其他對象造成緊密耦合時。實驗八職責鏈模式的應用【實驗
36、目的】1)掌握職責鏈模式(Chain of Responsibility)的特點2)分析具體問題,使用職責鏈模式進行設計?!緦嶒瀮?nèi)容和要求】高校學生請假需要符合學校規(guī)定,假如班主任可以批準1天假,系主任可以批準7天假,各學院院長可以批準 30天,學校校長可以批準1年。應用職責鏈 模式,用JAVA控制臺應用程序實現(xiàn)該設計。繪制該模式的UML圖?!灸J経MI®】口litEtricilMLiocMgiair : Handler-t twJL 亡艮亡 qurmt 0: v&i d心.知中ut 舊 veld【模式代碼】public class StudentClient public
37、static void main(String口 args) / TODO Auto - generated method stub Handler fdy=new FuDaoYuan();Handler xzr=new XiZhuRen();Handler xy=new XueYuan();Handler xx=new XueXiao();fdy.setSuccessor(xzr);xzr.setSuccessor(xy); xy.setSuccessor(xx);for ( int i = 1; i < 20; i+=2) fdy.handleRequest(i);/處理請求的接口a
38、bstract class Handlerprotected Handler successor ;public void setSuccessor(Handler successor) this . successor =successor;public abstract void handleRequest( int request);class FuDaoYuan extends HandlerOverridepublic void handleRequest( int request) / TODO Auto - generated method stub if (request<
39、;=1)System. out .println( this .getClass().getSimpleName()+ 求"+request); else if (this . successor != null )System. out .println( this .getClass().getSimpleName()+ 無法滿足請求,轉入下一個處理者”);this . successor .handleRequest(request);class XiZhuRen extends HandlerOverridepublic void handleRequest( int req
40、uest) / TODO Auto - generated method stub if (request<=7)System. out .println( this .getClass().getSimpleName()+ 求"+request); else if (this . successor != null )System. out .println( this .getClass().getSimpleName()+ 無法滿足請求,轉入下一個處理者”);this . successor .handleRequest(request); 處理了請"自身處理了
41、請"自身class XueYuan extends HandlerOverridepublic void handleRequest( int request) / TODO Auto - generated method stub if (request<=9)System. out .println( this .getClass().getSimpleName()+ "處理了請 求"+request); else if (this . successor != null )System. out .println( this .getClass().g
42、etSimpleName()+"自身無法滿足請求,轉入下一個處理者”);this . successor .handleRequest(request);class XueXiao extends HandlerOverridepublic void handleRequest( int request) / TODO Auto - generated method stub if (request<=15)System. out .println( this .getClass().getSimpleName()+ "處理了請 求"+request); e
43、lse System. out .println( "該生請假時間太長,不能批準 ");【運行截圖】FuDaoYuan處理了請求1FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen 處理了請求3FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen 處理了請求5FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen 處理了請求7FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen自身無法滿足請求,轉入下一個處理者XueYuan處理了請求9FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen自身無法
44、滿足請求,轉入下一個處理者XueYuan自身無法滿足請求,轉入下一個處理者XueXiao 處理了請求11FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen自身無法滿足請求,轉入下一個處理者XueYuan自身無法滿足請求,轉入下一個處理者XueXiao 處理了請求13FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen自身無法滿足請求,轉入下一個處理者XueYuan自身無法滿足請求,轉入下一個處理者XueXiao 處理了請求15FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen自身無法滿足請求,轉入下一個處理者XueYuan自身無法滿足請求,轉
45、入下一個處理者該生請假時間太長,不能批準FuDaoYuan自身無法滿足請求,轉入下一個處理者XiZhuRen自身無法滿足請求,轉入下一個處理者XueYuan自身無法滿足請求,轉入下一個處理者該生請假時間太長,不能批準【實驗小結】職責鏈模式主要適用于以下情況:當有多個對象可以處理同一個請求,而具體哪個對象來處理這個請求在運行 時刻需要自動判定時。當需要在不明確接受者的情況下向多個對象中的某一個提交請求時。當處理一個請求的對象集合應該動態(tài)地被確定時。實驗九訪問者模式的應用【實驗目的】1)掌握訪問者模式(Visitor)的特點2)分析具體問題,使用訪問者模式進行設計【實驗內(nèi)容和要求】超市中有兩類商品
46、,蘋果(Apple)和巧克力(Chocolate),顧客(Custom)將所選商品放在購物車中(Shopping Cart),然后到收銀員(Cashier)處付款。在購物過程中,顧客需要對這些商品進行訪問,以便確認這些商品的質量,之后收銀員也需要訪問購物車內(nèi)的商品,以便計算價格。應用訪問者模式,用 JAVA控制臺應用程序實現(xiàn)該設計。繪制該模式的UML圖。【模式代碼】import java.util.ArrayList;import java.util.List; public class ShoppingTest /* param args */public static void main(
47、String args) / TODO Auto - generated method stubShoppingCart sc=new ShoppingCart();sc.Attach(new Apple("Apple");sc.Attach(new Chocolate("Chocolate");PersonVisitor pv=new Customer。;sc.accept(pv);PersonVisitor ps=new Cashier();sc.accept(ps); abstract class PersonVisitorpublic abstr
48、act void visitorApple(Apple apple);public abstract void visitorChoc01ate(Chocolate chocolate); class Customer extends PersonVisitorOverride public void visitorApple(Apple apple) / TO DO Auto - generated method stub System.out.println(this.getClass().getSimpleName()+"選購"+apple.getName();Ove
49、rride public void visitorChocolate(Chocolate chocolate) / TODO Auto - generated method stub System.out.println(this.getClass().getSimpleName()+"選購"+chocolate.getName(); class Cashier extends PersonVisitorOverridepublic void visitorApple(Apple apple) / TODO Auto - generated method stubSyste
50、m.out.println(this.getClass().getSimpleName()+"對"+apple.getName()+" 收銀");Overridepublic void visitorChoc01ate(Choc01ate chocolate) / TODO Auto - generated method stubSystem.out.println(this.getClass().getSimpleName()+"對"+chocolate.getName()+" 收銀)abstract class Shop
51、protected String name;public Shop(String name) =name;public abstract void accpet(PersonVisitor pv);public String getName() return name;class Apple extends Shoppublic Apple(String name) super(name);/ TODO Auto - generated constructor stubOverridepublic void accpet(PersonVisitor pv) / TODO Au
52、to - generated method stub pv.visitorApple(this);class Chocolate extends Shoppublic Choc01ate(String name) super(name);/ TODO Auto - generated constructor stubOverridepublic void accpet(PersonVisitor pv) / TODO Auto - generated method stub pv.visitorChoc01ate(this);class ShoppingCartList<Shop> shops=new ArrayList<Shop>();public void Attach(Shop shop) shops.add(shop);public void Detach(Shop shop) shops.remove(shop);public void accept(PersonVisitor visitor)for (int i = 0; i < shops.size(); i+) shops.get(i).accpet(visitor);【運行截圖】Cust
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025云南省電子競技協(xié)會招聘備考題庫及一套參考答案詳解
- 2025貴州優(yōu)泰建設工程有限公司招聘1人備考題庫及答案詳解(考點梳理)
- 2026浙江臺州椒江區(qū)第三中心幼兒園天空院子分園招聘備考題庫及完整答案詳解1套
- 2026浙江寧波市鎮(zhèn)開九龍康養(yǎng)有限公司編外人員招聘1人備考題庫及完整答案詳解1套
- 2025廣東梅州市梅縣區(qū)石坑鎮(zhèn)招聘村(社區(qū))便民服務站專職人員1人備考題庫及參考答案詳解
- 2026年玉溪市第二人民醫(yī)院就業(yè)見習崗位招募備考題庫(24人)附答案詳解
- 生產(chǎn)準備管理制度
- 恩施車間生產(chǎn)管理制度
- 生產(chǎn)氮氣管理制度
- 施工安全生產(chǎn)教育制度
- 醫(yī)療器械胰島素泵市場可行性分析報告
- 地鐵施工現(xiàn)場防臺風措施
- 種植業(yè)合作社賬務處理
- 【麗江玉龍旅游薪酬制度的創(chuàng)新研究6100字】
- 公司兩權分離管理制度
- 車輛叉車日常檢查記錄表
- 廣東高校畢業(yè)生“三支一扶”計劃招募考試真題2024
- 膠帶機硫化工藝.課件
- 種雞免疫工作總結
- 河南省商丘市柘城縣2024-2025學年八年級上學期期末數(shù)學試題(含答案)
- 河南省信陽市2024-2025學年高二上學期1月期末英語試題(含答案無聽力原文及音頻)
評論
0/150
提交評論