欢迎来到天天文库
浏览记录
ID:61448507
大小:112.00 KB
页数:5页
时间:2021-01-31
《软件体系结构-实验报告一.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、内蒙古工业大学信息工程学院报告类型:实验报告报告成绩:________指导教师审核(签名):__________________年月日实验一迭代器模式与代理模式一、实验目的:使用uml和面向对象编程语言实现迭代器模式和代理模式,包括根据实训绘制模式类图,编写模式实例实现代码,运行测试示例代码。二、实验代码及实验截图:1、迭代器模式代码:(1)packagecom.qdsoft.iter;publicinterfaceIterator{booleanhasMore();//判断是否还有元素在集合里
2、面Integernext();//取下一个元素}(2)packagecom.qdsoft.iter;publicclassIteratorTest{publicstaticvoidmain(String[]args){MyCollectioncollection=newMyCollection();collection.add(5);collection.add(40);collection.add(1);collection.add(5);collection.add(11);collecti
3、on.add(49);collection.add(23);Iteratoriterator=collection.getIterator();while(iterator.hasMore()){System.out.println(iterator.next());}}}(3)packagecom.qdsoft.iter;publicclassMyCollection{privateInteger[]datas=newInteger[30];privateintcount=0;publicvo
4、idadd(intn){if(count>=30){System.out.println("集合已满");}else{datas[count++]=n;}}publicIteratorgetIterator(){returnnewIteratorImpl();//返回一个Iterator类型的对象}privateclassIteratorImplimplementsIterator{privateintcurrent=0;publicbooleanhasMore(){returncurrent<
5、count;}publicIntegernext(){/*if(current6、oxy;publicclassDataAccessTest{publicstaticvoidmain(String[]args){/***target:被代理的对象*/DataAccesstarget=newDatabaseAccess();/***proxy:代理对象*/DataBaseAccessProxyproxy=newDataBaseAccessProxy();proxy.setAccess(target);proxy.save();/***从表面上看,工作好像都是proxy做的,实际7、上是target做的*/}}(3)packagecom.qdsoft.proxy;publicclassDatabaseAccessimplementsDataAccess{@Overridepublicfinalvoidsave(){System.out.println("保存数据到数据库");}}(4)packagecom.qdsoft.proxy;publicclassDataBaseAccessProxyimplementsDataAccess{privateDataAccessacce8、ss;publicvoidsetAccess(DataAccessaccess){this.access=access;}publicvoidsave(){before();access.save();after();}publicvoidbefore(){System.out.println("打开数据库连接");}publicvoidafter(){System.out.println("关闭数据库连接");}}4、代理模式实验截图一、实验uml图与模式类图:一、实验心得本次实验是在老师的讲
6、oxy;publicclassDataAccessTest{publicstaticvoidmain(String[]args){/***target:被代理的对象*/DataAccesstarget=newDatabaseAccess();/***proxy:代理对象*/DataBaseAccessProxyproxy=newDataBaseAccessProxy();proxy.setAccess(target);proxy.save();/***从表面上看,工作好像都是proxy做的,实际
7、上是target做的*/}}(3)packagecom.qdsoft.proxy;publicclassDatabaseAccessimplementsDataAccess{@Overridepublicfinalvoidsave(){System.out.println("保存数据到数据库");}}(4)packagecom.qdsoft.proxy;publicclassDataBaseAccessProxyimplementsDataAccess{privateDataAccessacce
8、ss;publicvoidsetAccess(DataAccessaccess){this.access=access;}publicvoidsave(){before();access.save();after();}publicvoidbefore(){System.out.println("打开数据库连接");}publicvoidafter(){System.out.println("关闭数据库连接");}}4、代理模式实验截图一、实验uml图与模式类图:一、实验心得本次实验是在老师的讲
此文档下载收益归作者所有