【填空题】1. 某信息系统要提供一个数据读取和报表显示模块,可以将来自不同类型文件中的数据转换成XML格式,并对数据进行统计和分析,然后以报表方式显示数据。由于该过程涉及多个类,因此使用外观模式进行设计,其类图如下图所示。 在图中, FileOperation类用于读取文件, XMLDataConvertor类用于将不同格式的文件转换为XML格式, DataAnalysis类用于对XML数据进行统计分析,ReportDisplay类用于显示报表。为了让系统具有更的扩展性,在系统设计中引入了抽象外观类 Abstract Facade,它拥有多个不同的子类, XMLFacade类用于与读取、分析和显示XML数据的类交互, ExtendedFacade类用于与读取、转换、分析和显示非XML数据的类交互。 class FileOperation { public String read(String fileName) { // 读取文件代码省略 } } class XMLDataConvertor { public String convert(String fileStr) { // 文件格式转换代码省略 } } class DataAnalysis { public String handle(String xmlStr) { // 数据分析统计代码省略 } } class ReportDisplay { public void display(String xmlStr){ //报表显示代码省略 } } ( 1 ) AbstractFacade{ public abstract void execute(String fileName); } class XMLFacade extends AbstractFacade { private FileOperation fo; private DataAnalysis da; private ReportDisplay rd; public XMLFacade() { fo = new FileOperation(); da = new DataAnalysis(); rd = new ReportDisplay(); } } public void execute(String fileName){ String str=( 2 ); //读取文件 String strResult=( 3 ); //分析数据 ( 4 ); //显示报表 } } class ExtendedFacade extends AbstractFacade { private FileOperation fo; private XMLDataConvertor dc; private DataAnalysis da; private ReportDisplay rd; public ExtendedFacade(){ fo= new FileOperation(); dc =new XMLDataConvertor(); da= new DataAnalysis(); rd=new ReportDisplay(); } public void execute(String fileName){ String str=( 5 ); //读取文件 String strXml=( 6 ); //转换文件 String strResult=( 7 ); //分析数据 ( 8 ); //显示报表 } } class Test{ public static void main(String args[ ]){ AbstractFacade facade; facada=( 9 ); facade.execute("file. Xml"); } }
发布时间:2024-04-10 08:18:46