你可能喜欢
问答题
某图形编辑器的原型模式设计方案如下图,首先创建一个抽象类Shape和扩展了Shape类的实体类,其次是定义类ShapeCache,该类把shape对象存储在一个Hashtable中,并在请求的时候返回它们的克隆。请基于Java着手实现。
问答题
问答题
某系统界面类(如Form1、Form2等类)与数据访问类(如DAO1、DAO2等类)设计如图,类之间的调用关系较为复杂。请指出设计存在的问题,并基于迪米特法则进行重构。
问答题
某教学管理系统部分数据库访问类设计如图所示,请指出设计存在的问题,并基于合成复用原则进行重构。
问答题
一个拥有多个客户类的系统,在系统中定义了一个巨大的接口(胖接口)AbstractService来服务所有的客户类。如图所示,请指出设计存在的问题,并基于接口分离原则进行重构。
问答题
某系统提供一个数据转换模块,可以将来自不同数据源的数据转换成多种格式,如可以转换来自数据库的数据(DatabaseSource)、也可以转换来自文本文件的数据(TextSource),转换后的格式可以是XML文件(XMLTransformer)、也可以是XLS文件(XLSTransformer),原始设计方案如图所示,请指出设计存在的问题,并基于依赖倒转原则进行重构。
问答题
某系统需要实现对重要数据(如用户密码)的加密处理,在数据操作类(DataOperator)中需要调用加密类中定义的加密算法,系统提供了两个不同的加密类,CipherA和CipherB,它们实现不同的加密方法,在DataOperator中可以选择其中的一个实现加密操作。请指出设计存在的问题,并基于里氏代换原则进行重构。