西南科技大学计算机学院《面向对象系统分析和设计》实验报告实验名称:实验4设计模型实验2学期:2017-2018学年第二学期一、实验目的1
熟练使用面向对象设计原则对系统进行重构;2.熟练使用面向对象编程语言(JAVA或C++)实现几种常见的设计模式,包括单例模式、策略模式、装饰模式和适配器模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式
二、实验要求1
选择合适的面向对象设计原则对系统进行重构,正确无误地绘制重构之后的类图;2
结合实例,正确无误地绘制单例模式、策略模式、装饰模式和适配器模式的结构图;3.实现单例模式、策略模式、装饰模式和适配器模式,代码运行正确无误
三、实验内容1
现实生活中,居民身份证号码具有唯一性,同一个人不允许有多个身份证号码,第一次申请身份证时将号码分配给居民,如果之后因为遗失等原因补办时,还是使用原来的身份证号码,不会产生新号码,现使用单例模式模拟该场景
1)类图2)实现代码:publicclassIdClient{publicstaticvoidmain(String[]args){ﻩIdentityCardNo
getInstance();ﻩﻩIdentityCardNo
getInstance();}1西南科技大学计算机学院《面向对象系统分析和设计》实验报告}packageRefactoring1;publicclassIdentityCardNo{ﻩprivatestaticIdentityCardNoinstance;ﻩprivateStringno;privateIdentityCardNo(){ﻩ}publicstaticIdentityCardNogetInstance(){if(instance==null){ﻩﻩSystem
out.println("第一次办理身份证,分配新号码");ﻩﻩﻩins