版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业软件体系结构实验报告项目名称 结构型设计模式实验专业班级 学 号 姓 名 实验成绩:批阅教师:年 月 日实验4 结构型设计模式实验实验学时: 2 每组人数: 1 实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性)实验要求: 1 (1:必修 2:选修 3:其它)实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它)一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的结构型设计模式,包括适配器模式、组合模式和外观模式
2、,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。二、实验内容1. 现有一个接口DataOperation定义了排序方法sort(int) 和查找方法search(int, int),已知类QuickSort的quickSort(int)方法实现了快速排序算法,类BinarySearch 的binarySearch(int, int)方法实现了二分查找算法。试使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。(要求实现快速排序和二分查找,使用对象适配器实
3、现)2. Windows Media Player和RealPlayer是两种常用的媒体播放器,它们的API结构和调用方法存在区别。现在你的应用程序需要支持这两种播放器API,而且在将来可能还需要支持新的媒体播放器,请问如何设计该应用程序?绘制类图并编程模拟实现。3. 使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、视频文件VideoFile。绘制类图并编程模拟实现。4. 某教育机构组织结构如下图所示:在该教育机构的OA系统中可以
4、给各级办公室下发公文,试采用组合模式设计该机构的组织结构,绘制相应的类图并编程模拟实现,在客户端代码中模拟下发公文。5. 某软件公司为新开发的智能手机控制与管理软件提供了一键备份功能,通过该功能可以将原本存储在手机中的通信录、短信、照片、歌曲等资料一次性全部拷贝到移动存储介质(例如MMC卡或SD卡)中。在实现过程中需要与多个已有的类进行交互,例如通讯录管理类、短信管理类等,为了降低系统的耦合度,试使用外观模式来设计并编程模拟实现该一键备份功能。 6. 某信息系统需要提供一个数据处理和报表显示模块,该模块可以读取不同类型的文件中的数据并将数据转换成XML格式,然后对数据进行统计分析,最后以报表方
5、式来显示数据。由于该过程需要涉及到多个类,试使用外观模式设计该数据处理和报表显示模块。考虑到有些文件本身已经是XML格式,无须进行格式转换,为了让系统具有更好的扩展性,在系统设计中可以引入抽象外观类。三、实验要求1. 结合实例,正确无误地绘制适配器模式、组合模式和外观模式的模式结构图;2. 使用任意一种面向对象编程语言实现适配器模式、组合模式和外观模式实例,代码运行正确无误。四、实验步骤1. 结合实例,使用PowerDesigner绘制适配器模式实例结构图并用面向对象编程语言实现该模式实例;2. 结合实例,使用PowerDesigner绘制适配器模式实例结构图并用面向对象编程语言实现该模式实例
6、;3. 结合实例,使用PowerDesigner绘制组合模式实例结构图并用面向对象编程语言实现该模式实例;4. 结合实例,使用PowerDesigner绘制组合模式实例结构图并用面向对象编程语言实现该模式实例;5. 结合实例,使用PowerDesigner绘制外观模式实例结构图并用面向对象编程语言实现该模式实例;6. 结合实例,使用PowerDesigner绘制外观模式实例结构图并用面向对象编程语言实现该模式实例。五、实验结果1. 类图:实现代码:/* * Module: BinarySearch.java * Author: Administrator * Purpose: Defines
7、the Class BinarySearch */import java.util.*;/* pdOid 209bdfa5-acff-485e-a496-dc80 */public class BinarySearch /* param array * param value * pdOid ba1a5cd0-df22-4fb8-9ce7-bcce610b3d30 */ public int binarySearch(int array, int value) / TODO: implement int low = 0; int high = array.length-1; while(low
8、high) int middle = (low+high)/2; if(arraymiddle=value) return middle+1; else if(arraymiddlevalue) high = middle - 1; if(low=high) if(arraylow=value) return low+1; return -1; / public static void main(String args)/ int array =1,2,3,4,5,6,7,8,9,10;/ BinarySearch bina = new BinarySearch();/ int x =bina
9、.binarySearch(array, 10);/ System.out.print(x);/ / /* * Module: Client.java * Author: Administrator * Purpose: Defines the Class Client */import java.util.*;/* pdOid c0-f653-4d08-8fba-090e54c06bc1 */public class Client public static void main(Stringargs)int array =100,9,7,28,47,98,288,40,58,2,16,49,
10、66,9;int value = 100;DataOperation dataOP = (DataOperation)XMLUtil.getBean();dataOP.sort(array); for(int i=0;iarray.length;i+) System.out.print(arrayi+ ); System.out.println(n+dataOP.search(array, value);/* * Module: DataOperation.java * Author: Administrator * Purpose: Defines the Interface DataOpe
11、ration */import java.util.*;/* pdOid 8ae548c4-33ee-41f3-a3ca-c2708f */public interface DataOperation /* param array * pdOid a443b05c-7086-470c-bf20-60a406a10975 */ void sort(int array); /* param array * param value * return * pdOid 60008c08-0cf8-4889-8de7-4a73ed4e14c0 */ int search(int array, int va
12、lue);/* * Module: DataOperationAdapter.java * Author: Administrator * Purpose: Defines the Class DataOperationAdapter */import java.util.*;/* pdOid c9ed4bcc-817f-4ee9-862b-7f1ebaabc048 */public class DataOperationAdapter implements DataOperation /* param array * pdOid a2c2f23c-a99d-4a08-91f6-dbc7 */
13、 public void sort(int array) QuickSort quickSort = new QuickSort(); quickSort.quickSort(array); / TODO: implement /* param array * param value * pdOid 17dd16dc-4d19-44c0-b66a-02e11fc9d3bd */ public int search(int array, int value) / TODO: implement BinarySearch binarySearch = new BinarySearch(); ret
14、urn binarySearch.binarySearch(array, value); /* * Module: QuickSort.java * Author: Administrator * Purpose: Defines the Class QuickSort */import java.util.*;/* pdOid ef5ed092-24eb-464a-b1e3-5005f9a3c3f2 */public class QuickSort /* param array * pdOid 69c0b870-15d8-4315-a932-fc8eff */ public void qui
15、ckSort(int array) / TODO: implement int n = array.length; diguiSort(array,0,n-1); void diguiSort(int array,int y,int x) int value = arrayy; int i = y; int j = x; while(ij) while(arrayi=value & i=value & ij) j-; if(iarrayi) swap(array,y,i); else i-; swap(array,y,i); if(iy+1) diguiSort(array,y,i); if(
16、ix-1) diguiSort(array,i+1,x); void swap(int array,int i,int j) int value = arrayi; arrayi = arrayj; arrayj = value; / public static void main(String args)/ intarray =5,9,8,7,6,10,4,3,2,1,90,79;/ QuickSort quick = new QuickSort();/ quick.quickSort(array);/ for(int i=0;i12;i+)/ System.out.print(arrayi
17、+ );/ / Config.xmlRealAdapter2. 类图:实现代码:/* * Module: Client.java * Author: Administrator * Purpose: Defines the Class Client */import java.util.*;/* pdOid 588f59be-7d2f-4416-abde-f6aac80023ad */public class Client public static void main(String args)PlayerAPI player = (PlayerAPI)XMLUtil.getBean();pl
18、ayer.run();/* * Module: PlayerAPI.java * Author: Administrator * Purpose: Defines the Interface PlayerAPI */import java.util.*;/* pdOid aec32bb3-3fea-4675-92b7-1375a72e9159 */public interface PlayerAPI /* pdOid 3047f451-9d27-4334-bfaa-fbe3451a9dfe */ void run();/* * Module: RealAdapter.java * Author
19、: Administrator * Purpose: Defines the Class RealAdapter */import java.util.*;/* pdOid 5bfa426e-7366-48df-9863-271c0e */public class RealAdapter extends RealAPI implements PlayerAPI /* pdOid 22e942aa-73f0-46db-83b3-342f8e3378dc */ public void run() / TODO: implement realRun(); /* * Module: RealAPI.j
20、ava * Author: Administrator * Purpose: Defines the Class RealAPI */import java.util.*;/* pdOid 760d8fcb-b33f-43cd-9b42-e351c13ee37b */public class RealAPI /* pdOid 4cebed7e-f200-4cb9-8908-3c65526a61bb */ public void realRun() / TODO: implement System.out.println(Real Player 正在播放); /* * Module: WMPAd
21、apter.java * Author: Administrator * Purpose: Defines the Class WMPAdapter */import java.util.*;/* pdOid 0db13cde-c69d-4a50-b890-f7f116b47681 */public class WMPAdapter extends Wmpapi implements PlayerAPI /* pdOid 81925d86-9b28-4d0e-b47c-cf127ad19469 */ public void run() / TODO: implement wmpRun(); /
22、* * Module: Wmpapi.java * Author: Administrator * Purpose: Defines the Class Wmpapi */import java.util.*;/* pdOid 825bb43f-be50-4fd6-ad9f-9427efbd4f15 */public class Wmpapi /* pdOid d953f0dc-2fb1-46b5-b23e-6343ac7c11de */ public void wmpRun() / TODO: implement System.out.println(Windows Media Player
23、 正在播放); import javax.xml.parsers.*;import org.w3c.dom.*;import org.xml.sax.SAXException;import java.io.*;public class XMLUtil/该方法用于从XML配置文件中提取具体类类名,并返回一个实例对象 public static Object getBean() try /创建DOM文档对象 DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder
24、= dFactory.newDocumentBuilder(); Document doc; doc = builder.parse(new File(src/config.xml); /获取包含类名的文本节点 NodeList nl = doc.getElementsByTagName(className); Node classNode=nl.item(0).getFirstChild(); String cName=classNode.getNodeValue(); /通过类名生成实例对象并将其返回 Class c=Class.forName(cName); Object obj=c.n
25、ewInstance(); return obj; catch(Exception e) e.printStackTrace(); return null; Config.xmlRealAdapter3. 类图:实现代码:/* * Module: AntiVirus.java * Author: ct * Purpose: Defines the Class AntiVirus */import java.util.*;/* pdOid ef6ff639-cb4d-4f80-8f6e-92814c25bc94 */public abstract class AntiVirus /* pdOid
26、 3da78204-9191-4b73-b0ab-893a89c41937 */ /* pdOid 6bf1c539-9b1e-4e92-9fd2-ae8e5fc7b719 */ public void antiVirus() / TODO: implement /* pdOid eb-cfa5-411e-a762-648b1aa80b0e */ public void add(AntiVirus an) / TODO: implement /* pdOid 72b2fa5a-025e-48c9-90e8-b0544fa40005 */ public void remove(AntiVirus
27、 an) / TODO: implement public static void main(String args)/ TODO: implement AntiVirus folder,image,text,video; folder = new Folder(); image = new ImageFile(); text = new TextFile(); video = new VideoFile(); folder.add(image); folder.add(video); folder.add(text); folder.antiVirus(); /* * Module: Fol
28、der.java * Author: ct * Purpose: Defines the Class Folder */import java.util.*;public class Folder extends AntiVirusprivate ArrayList antiVirus = new ArrayList();public void add(AntiVirus an)antiVirus.add(an);public void remove(AntiVirus an)antiVirus.remove(an);public void antiVirus()System.out.prin
29、tln(正在对文件夹杀毒);for(Object object:antiVirus)(AntiVirus)object).antiVirus();/* * Module: RealAdapter.java * Author: Administrator * Purpose: Defines the Class RealAdapter */import java.util.*;/* pdOid 5bfa426e-7366-48df-9863-271c0e */public class RealAdapter extends RealAPI implements PlayerAPI /* pdOi
30、d 22e942aa-73f0-46db-83b3-342f8e3378dc */ public void run() / TODO: implement realRun(); /* * Module: RealAPI.java * Author: Administrator * Purpose: Defines the Class RealAPI */import java.util.*;/* pdOid 760d8fcb-b33f-43cd-9b42-e351c13ee37b */public class RealAPI /* pdOid 4cebed7e-f200-4cb9-8908-3
31、c65526a61bb */ public void realRun() / TODO: implement System.out.println(Real Player 正在播放); /* * Module: WMPAdapter.java * Author: Administrator * Purpose: Defines the Class WMPAdapter */import java.util.*;/* pdOid 0db13cde-c69d-4a50-b890-f7f116b47681 */public class WMPAdapter extends Wmpapi implem
32、ents PlayerAPI /* pdOid 81925d86-9b28-4d0e-b47c-cf127ad19469 */ public void run() / TODO: implement wmpRun(); /* * Module: Wmpapi.java * Author: Administrator * Purpose: Defines the Class Wmpapi */import java.util.*;/* pdOid 825bb43f-be50-4fd6-ad9f-9427efbd4f15 */public class Wmpapi /* pdOid d953f0d
33、c-2fb1-46b5-b23e-6343ac7c11de */ public void wmpRun() / TODO: implement System.out.println(Windows Media Player 正在播放); import javax.xml.parsers.*;import org.w3c.dom.*;import org.xml.sax.SAXException;import java.io.*;public class XMLUtil/该方法用于从XML配置文件中提取具体类类名,并返回一个实例对象 public static Object getBean()
34、try /创建DOM文档对象 DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = dFactory.newDocumentBuilder(); Document doc; doc = builder.parse(new File(src/config.xml); /获取包含类名的文本节点 NodeList nl = doc.getElementsByTagName(className); Node classNode=nl.item(0).getFir
35、stChild(); String cName=classNode.getNodeValue(); /通过类名生成实例对象并将其返回 Class c=Class.forName(cName); Object obj=c.newInstance(); return obj; catch(Exception e) e.printStackTrace(); return null; Congfig.xmlRealAdapter4. 类图:实现代码:/* * Module: Department.java * Author: Administrator * Purpose: Defines the C
36、lass Department */import java.util.*;/* pdOid 94d24f84-b25f-41fe-8df4-4b52fcf21733 */public class Department extends DepartmentAbstract /* pdOid d32990b8-9410-4cd7-a9dc-c3ac */ private ArrayList departmentList = new ArrayList(); /* pdOid 70c6772d-6307-449e-b1ee-90daf5d6e570 */ public String name; /*
37、 pdRoleInfo migr=no name=DepartmentAbstract assc=association1 coll=java.util.Collection impl=java.util.HashSet mult=0.* type=Aggregation */ public java.util.Collection departmentAbstract; public Department(String str) / TODO Auto-generated constructor stub name = str;/* pdOid ef3eb589-c646-4138-901f
38、-2ba24a3b1f90 */ public void sendMessage() / TODO: implement System.out.println(我是+name+我正在发送信息); for(Object object:departmentList) (DepartmentAbstract)object).sendMessage(); /* pdOid 3b1e1686-ffd0-4fe0-ba3a-a628ea148d14 */ public void add(DepartmentAbstract d) / TODO: implement departmentList.add(d
39、); /* pdOid 7557e881-0a37-40b7-a0fd-e7c2550d0574 */ public void remove(DepartmentAbstract d) / TODO: implement departmentList.remove(d); /* pdGenerated default getter */ public java.util.Collection getDepartmentAbstract() if (departmentAbstract = null) departmentAbstract = new java.util.HashSet(); r
40、eturn departmentAbstract; /* pdGenerated default iterator getter */ public java.util.Iterator getIteratorDepartmentAbstract() if (departmentAbstract = null) departmentAbstract = new java.util.HashSet(); return departmentAbstract.iterator(); /* pdGenerated default setter * param newDepartmentAbstract
41、 */ public void setDepartmentAbstract(java.util.Collection newDepartmentAbstract) removeAllDepartmentAbstract(); for (java.util.Iterator iter = newDepartmentAbstract.iterator(); iter.hasNext();) addDepartmentAbstract(DepartmentAbstract)iter.next(); /* pdGenerated default add * param newDepartmentAbs
42、tract */ public void addDepartmentAbstract(DepartmentAbstract newDepartmentAbstract) if (newDepartmentAbstract = null) return; if (this.departmentAbstract = null) this.departmentAbstract = new java.util.HashSet(); if (!this.departmentAbstract.contains(newDepartmentAbstract) this.departmentAbstract.a
43、dd(newDepartmentAbstract); /* pdGenerated default remove * param oldDepartmentAbstract */ public void removeDepartmentAbstract(DepartmentAbstract oldDepartmentAbstract) if (oldDepartmentAbstract = null) return; if (this.departmentAbstract != null) if (this.departmentAbstract.contains(oldDepartmentAb
44、stract) this.departmentAbstract.remove(oldDepartmentAbstract); /* pdGenerated default removeAll */ public void removeAllDepartmentAbstract() if (departmentAbstract != null) departmentAbstract.clear(); /* * Module: DepartmentAbstract.java * Author: Administrator * Purpose: Defines the Class Departmen
45、tAbstract */import java.util.*;/* pdOid b6e6ec79-31ff-4e9d-a632-c701aa005ea4 */public abstract class DepartmentAbstract /* pdOid fcb1dd98-bfa8-47d3-afaf-d9bdb9abbab6 */ public void sendMessage() / TODO: implement /* param d * pdOid f84e7039-6ed8-447a-a6fe-c1773cb7a745 */ public void add(DepartmentAb
46、stract d) / TODO: implement /* param d * pdOid 0659db01-7602-4047-a7da-c4eb5 */ public void remove(DepartmentAbstract d) / TODO: implement /* * Module: Office.java * Author: Administrator * Purpose: Defines the Class Office */import java.util.*;/* pdOid f949b7c8-67c0-4734-ae5a-a0bd52bc1d0a */public
47、class Office extends DepartmentAbstract /* pdOid c5b51a4f-5776-4c03-a9dc-85e69e79d633 */ private String name; Office(String str) name = str; /* pdOid 5244ed25-3e1a-47cc-a271-6049b1d9bef5 */ public void sendMessage() / TODO: implement System.out.println(我是+name+我在发送信息); public static void main(String
48、 args) DepartmentAbstract dep1,dep2,dep3,dep4,dep5,dep6,dep7,dep8,dep9,dep10,dep11,dep12; dep1 = new Department(北京总部); dep2 = new Department(湖南分校); dep3 = new Department(长沙教学点); dep4 = new Department(湘潭教学点); dep5 = new Office(北京总部教务办公室); dep6 = new Office(北京总部行政办公室); dep7 = new Office(湖南分校教务办公室); de
49、p8 = new Office(湖南分校行政办公室); dep9 = new Office(长沙教学点教务办公室); dep10 = new Office(长沙教学点行政办公室); dep11 = new Office(湘潭教学点教务办公室); dep12 = new Office(湘潭教学点行政办公室); dep1.add(dep2); dep1.add(dep5); dep1.add(dep6); dep2.add(dep3); dep2.add(dep4); dep2.add(dep7); dep2.add(dep8); dep3.add(dep9); dep3.add(dep10);
50、dep4.add(dep11); dep5.add(dep12); dep1.sendMessage(); 5. 类图:实现代码:/* * Module: ContactManager.java * Author: ct * Purpose: Defines the Class ContactManager */import java.util.*;/* pdOid 7f0b7df6-9a3d-44a9-830a-a38908dd4da6 */public class ContactManager /* pdOid 5cbd408c-d404-4c14-b6af-cf3eb067d89a */
51、 public void copy() / TODO: implement System.out.println(联系人备份); /* * Module: Facade.java * Author: ct * Purpose: Defines the Class Facade */import java.util.*;/* pdOid cf49c0a8-75cd-4ec9-889e-c6b848c7f5d2 */public class Facade /* pdOid 253c82c5-704d-4aea-9bea-3b4d797b50b5 */ private MessageManager
52、message; /* pdOid e23272f0-3b58-45bb-a7af-6ce21f0cbcda */ private MusicManager music; /* pdOid 8837cf92-0933-4625-965d-ff48b7 */ private ContactManager contact; /* pdOid -eb34-451a-a42a-61f7aecd02d0 */ private PictureManager picture; public Facade() message = new MessageManager(); music = new MusicM
53、anager(); contact = new ContactManager(); picture = new PictureManager(); /* pdOid b3aca17b-d20e-455d-90aa-1324a1d4f603 */ public void copy() / TODO: implement message.copy(); music.copy(); contact.copy(); picture.copy(); public static void main(String args ) Facade facade = new Facade(); facade.cop
54、y(); /* * Module: MessageManager.java * Author: ct * Purpose: Defines the Class MessageManager */import java.util.*;/* pdOid 30810d84-25bb-4463-8995-9b66d5ffd85f */public class MessageManager /* pdOid 7d381f97-b365-41db-9801-fc3f2caae5f1 */ public void copy() / TODO: implement System.out.println(短信备
55、份); /* * Module: MusicManager.java * Author: ct * Purpose: Defines the Class MusicManager */import java.util.*;/* pdOid ba43106d-7c5b-40f0-92ad-a4ad24cc6fa6 */public class MusicManager /* pdOid d9e3d5d5-5905-4ceb-adab-b3e1bb0231ef */ public void copy() / TODO: implement System.out.println(音乐备份); /*
56、* Module: PictureManager.java * Author: ct * Purpose: Defines the Class PictureManager */import java.util.*;/* pdOid 71d43250-a332-4428-bda9-68c78c8e92de */public class PictureManager /* pdOid 9c37be30-c2a0-45d9-a9a6-cb7ee */ public void copy() / TODO: implement System.out.println(照片备份); 6. 类图:实现代码:
57、/* * Module: AbstractFacade.java * Author: ct * Purpose: Defines the Class AbstractFacade */import java.util.*;/* pdOid 06fb809b-5f20-4438-ab67-7705da4e8751 */public abstract class AbstractFacade /* pdOid 8de9d521-01a9-496b-9c87-60347ef8db5b */ public void run() / TODO: implement /* * Module: Analys
58、is.java * Author: ct * Purpose: Defines the Class Analysis */import java.util.*;/* pdOid 27535ae3-5e47-47e8-954b-51fddd59445e */public class Analysis /* param xMLdata * pdOid -b712-4cac-a97f-4ebb4e544f4a */ public void analysis(String xMLdata) / TODO: implement System.out.println(对文件进行分析); /* * Modu
59、le: Client.java * Author: ct * Purpose: Defines the Class Client */import java.util.*;/* pdOid d9ae3c1e-d4c1-4519-b569-b6a1ba33885d */public class Client public static void main(String args)AbstractFacade abFacade1,abFacade2;abFacade1 = new XMLFacade();abFacade2 = new FileFacade();abFacade1.run();ab
60、Facade2.run();/* * Module: FileChangeToXML.java * Author: ct * Purpose: Defines the Class FileChangeToXML */import java.util.*;/* pdOid b8f8f89b-72df-43e2-bf37-a81da6541a5e */public class FileChangeToXML /* param data * pdOid 745db01f-1948-4527-8405-ac2b5a541dac */ public String changeToXML(String d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院护士交接班制度
- 中国古代音乐史学习通超星期末考试答案章节答案2024年
- Microcystin-LW-Standard-生命科学试剂-MCE
- 发泡砼施工方案
- 2024年高速公路收费员个人工作总结
- 部编2024版历史七年级上册第三单元《第15课 秦汉时期的科技与文化》有关故事、轶事和传说(学案)
- 学校校长聘任制度
- 金融课课程设计汇报
- 色彩上色入门课程设计
- 结对共建实施方案
- 幼儿教育政策法规解读-高职-学前教育专业课件
- 伤口拍照要求及换药技术-课件
- 公开课听课记录表格
- Unit 3 Developing ideas Just A Brother课件-高中英语外研版必修第一册
- 产品留样观察记录
- 标准检验指导书(SIP)-(格式模板)
- 产品更改申请通知单
- 2023-2023年全国初中数学竞赛试题含答案
- 共用水电费分割单模板
- 《采用合理的论证方法》课件-统编版高中语文选择性必修上册
- 满意度调查表(模板)
评论
0/150
提交评论