1、指导老师: 刘伟 完成日期: 2010-12-7 一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。二、实验内容使用PowerDesigner和任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,包括根据实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。(1) 简单工厂模式使用简单工厂模式设计一个可以创建不同几何形状(Sha
2、pe)的绘图工具类,如可创建圆形(Circle)、方形(Rectangle)和三角形(Triangle) 对象,每个几何图形都要有绘制draw()和擦除erase()两个方法,要求在绘制不支持的几何图形时,提示一个UnsupportedShapeException,绘制类图并编程实现。(2) 简单工厂模式使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数“M”,则返回一个Man对象,如果传入参数“W”,则返回一个Woman对象,使用任意一种面向对象编程语言实现该场景。现需要增加一个新的Robot类,如果传入参数“R”,则返回一个Robot对象,对代码进行修改并注意女娲的变化
3、。(3) 工厂方法模式某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式,现使用工厂方法模式设计该系统。用代码实现日志记录器实例,如果在系统中增加一个中的日志记录方式控制台日志记录(ConsoleLog),绘制类图并修改代码,注意增加新日志记录方式过程中原有代码的变化。(4) 工厂方法模式现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器(ImageReader),如GIF图片读取器(GifReader)用于读取GIF格式的图片、JPG图片读取器(JpgReader)用于读取JPG格式的图片。图片读取器
4、对象通过图片读取器工厂ImageReaderFactory来创建,ImageReaderFactory是一个抽象类,用于定义创建图片读取器的工厂方法,其子类GifReaderFactory和JpgReaderFactory用于创建具体的图片读取器对象。使用工厂方法模式实现该程序的设计。(5) 抽象工厂模式某系统为了改进数据库操作的性能,自定义数据库连接对象Connection和语句对象Statement,可针对不同类型的数据库提供不同的连接对象和语句对象,如提供Oracle或SQL Server专用连接类和语句类,而且用户可以通过配置文件等方式根据实际需要动态更换系统数据库。使用抽象工厂模式设
5、计该系统。用代码模拟实现数据库操作工厂实例,要求可以通过配置文件改变数据库类型。(6) 抽象工厂模式计算机包含内存(RAM)、CPU等硬件设备,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现计算机设备创建过程并绘制相应的类图。(7) 单例模式使用单例模式的思想实现多例模式,确保系统中某个类的对象只能存在有限个,如两个或三个,设计并编写代码实现一个多例类。(8) 单例模式使用单例模式设计一个多文档窗口(注:在Java AWT/Swing开发中可使用JDesktopPane和JInternalFrame来实现),要求在主窗体中某个内部子窗体只能实例化一次,即只能弹出一个相同的子窗体
6、,如下图所示:(注:用C#或C+实现类似功能也可以)(9) 适配器模式现有一个接口DataOperation定义了排序方法sort(int) 和查找方法search(int, int),已知类QuickSort的quickSort(int)方法实现了快速排序算法,类BinarySearch 的binarySearch(int, int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。(要求实现快速排序和二分查找)(10) 适配器模式使用任意一种面向对象
7、编程语言实现一个双向适配器实例,使得猫可以学狗叫,狗可以学猫抓老鼠。绘制相应类图并使用代码编程模拟。三、实验要求1. 正确无误绘制简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式实例的模式结构图;2. 使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式实例,代码运行正确无误。四、实验步骤1. 熟悉PowerDesigner15的常用功能;2. 使用PowerDesigner绘制简单工厂模式实例结构图并用面向对象编程语言实现该模式实例;3. 使用PowerDesigner绘制工厂方法模式实例结构图并用面向对象编程语言实现该模式实例;4.
8、使用PowerDesigner绘制抽象工厂模式实例结构图并用面向对象编程语言实现该模式实例;5. 使用PowerDesigner绘制单例模式实例结构图并用面向对象编程语言实现该模式实例;6. 使用PowerDesigner绘制适配器模式结构图并用面向对象编程语言实现该模式。五、实验结果 (1) 简单工厂模式1: 类图:结果:(2) 简单工厂模式2:类图:(3) 工厂方法模式1 (4) 工厂方法模式2(5) 抽象工厂模式1(6) 抽象工厂模式2(7) 单例模式1(8 )单例模式1(9) 适配器模式1(10) 适配器模式2六、实验总结 通过一段时间的对设计模式的学习和练习,我深刻的意识到了一个好的
9、软件往往是设计模式巧妙运用的结果。要学好设计模式,就必须得彻底理解设计模式,要能够看懂设计模式中的类图,如果要是设计模式中的类图都看不懂,那学好设计模式只是天方夜谭了。从开始学习设计模式到现在我们大概已经学了10种左右的设计模式了,每一种都有着它独特的优点,但是事情往往都是有两面性的,它们也存在着缺点,怎么去用好设计模式对我们来说是一门学问,我们有必要花时间和精力去学好它。XX大学生实习报告总结3000字社会实践只是一种磨练的过程。对于结果,我们应该有这样的胸襟:不以成败论英雄,不一定非要用成功来作为自己的目标和要求。人生需要设计,但是这种设计不是凭空出来的,是需要成本的,失败就是一种成本,有
10、了成本的投入,就预示着的人生的收获即将开始。小草用绿色证明自己,鸟儿用歌声证明自己,我们要用行动证明自己。打一份工,为以后的成功奠基吧!在现今社会,招聘会上的大字板都总写着“有经验者优先”,可是还在校园里面的我们这班学子社会经验又会拥有多少呢?为了拓展自身的知识面,扩大与社会的接触面,增加个人在社会竞争中的经验,锻炼和提高自己的能力,以便在以后毕业后能真正的走向社会,并且能够在生活和工作中很好地处理各方面的问题记得老师曾说过学校是一个小社会,但我总觉得校园里总少不了那份纯真,那份真诚,尽管是大学高校,学生还终归保持着学生身份。而走进企业,接触各种各样的客户、同事、上司等等,关系复杂,但你得去面
11、对你从没面对过的一切。记得在我校举行的招聘会上所反映出来的其中一个问题是,学生的实际操作能力与在校的理论学习有一定的差距。在这次实践中,这一点我感受很深。在学校,理论学习的很多,而且是多方面的,几乎是面面俱到的,而实际工作中,可能会遇到书本上没学到的,又可能是书本上的知识一点都用不上的情况。或许工作中运用到的只是简单的问题,只要套公式就能完成一项任务,有时候你会埋怨,实际操作这么简单,但为什么书本上的知识让人学的那么吃力呢?两耳不闻窗外事,一心只读圣贤书“只是古代读书人的美好意愿,它已经不符合现代大学生的追求,如今的大学生身在校园,心儿却更加开阔,他们希望自己尽可能早地接触社会,更早地融入丰富
12、多彩的生活。时下,打工的大学生一族正逐渐壮大成了一个部落,成为校园里一道亮丽的风景。显然,大学生打工已成为一种势不可挡的社会潮流,大学生的价值取向在这股潮流中正悄悄发生着改变。对于大学生打工,一直是”仁者见仁,智者见智“,许多人的看法不尽相同。每个人都有自己的人生模式,我们有理由走自己选择的人生路,只要把握住自己,掌握好学习与打工的分寸,肯定能把大学这个人生阶段过得丰富多彩。打工的途径或者形式多种多样,只要是对社会有益,对自己积累人生经历有益,还能够有少量收入,就可以毫不犹豫的参与其中。虽然在实践中我只是负责比较简单的部分,但能把自己在学校学到的知识真正运用出来也使我颇感兴奋!在学校上课时都是
13、老师在教授,学生听讲,理论占主体,而我对知识也能掌握,本以为到了企业能够应付得来,但是在企业里并没有想象的那么容易,平时在学校数字错了改一改就可以交上去,但在工厂里,数字绝对不可以错,因为质量是企业第一生命,质量不行,企业生产就会跟不上,而效率也会随之下降,企业就会在竞争的浪潮中失败。因此,每一个环节都不能出错。这种要求是我们在课堂上学不到的。在学校里可能只需会解一道题,算出一个程式就可以了,但这里更需要的是与实际相结合,没有实际,只是纸上谈兵是不可能在社会立足的,所以一定要特别小心谨慎,而且一旦出错并不是像学校里一样老师打个红叉,然后改过来就行了,在工厂里出错是要负责任的,这关乎工厂的利益存
14、亡。 总之,这个寒假的社会实践是丰富而又有意义,一些心得和体会让人感到兴奋,但却决不仅仅用兴奋就能描述的,因为这是一种实实在在收获,是对”有经验者优先“的感悟。 在我的打工生活中,我也明白了许多:在日常的工作中上级欺压、责备下级是不可避免的。虽然事实如此,但这也给我上了宝贵的一课。它让我明白到别人批评你或是你听取他人的意见时,一定要心平气和,只有这样才能表示你在诚心听他说话。虽然被批评是很难受的,而且要明确表示你是真心在接受他们的批评。因为这样才能在失败中吸取教训,为以后的成功铺路。我们要学会从那里跌倒就从哪里爬起来,这才是我所应该做的。我也从工作中学习到了人际交往和待人处事的技巧。在人与人的
15、交往中,我能看到自身的价值。人往往是很执着的。可是如果你只问耕耘不问收获,那么你一定会交得到很多朋友。对待朋友,切不可斤斤计较,不可强求对方付出与你对等的真情,要知道给予比获得更令人开心。不论做是事情,都必须有主动性和积极性,对成功要有信心,要学会和周围的人沟通思想、关心别人、支持别人。打工的日子,有喜有忧,有欢乐,也有苦累,也许这就是打工生活的全部吧。我不知道多少打工的人有过这种感觉,但总的来说,这次的打工生活是我人生中迈向社会的重要一步,是值得回忆的。现在想来,二十四天的打工生活,我收获还是蛮大的。我所学到的生活的道理是我在学校里无法体会的,这也算是我的一分财富吧。现今,在人才市场上大学生已不是什么”抢手货“,而在每个用人单位的招聘条件中,几乎都要求有工作经验。所以,大学生不仅仅要有理论知识,工作经验的积累对将来
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1