首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL SerVer和Access两种数据库以及系统中的数据库表Depanment为例,其类图如图17—3所示。 [Java代码] import java.util
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL SerVer和Access两种数据库以及系统中的数据库表Depanment为例,其类图如图17—3所示。 [Java代码] import java.util
admin
2014-11-13
82
问题
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL SerVer和Access两种数据库以及系统中的数据库表Depanment为例,其类图如图17—3所示。
[Java代码]
import java.util*;
clasS Department(/*代码省略*/)
interface IDepartment(
(1) ;
(2) ;
}
class SqlserVerDepar七men七: (3) {
public:
void Insert(Department department){
System.out.print in(”Insert a record into Department in SQL Server\n”);
//其余代码省略
}
publ i c Department GetDepar七men七(int id)<
/*代码省略*/
}
}
Class AccessDepartment: (4) {
public void Insert(Department department){
system.out.print in(”Insert a record into Department in ACCESS I\n”};
//其余代码省略
}
public Department GetDepar七ment(int id)(
/*代码省略*/
}
};
(5) {
(6) ;
}
class SqlSerVerFac七ory implementS IFactory(
public 工Department CreateDepartment()(
re turn new Sqls erverDepartment();
}
//其余代码省略
};
Class AccessFactory implements IFactory(
public IDepartment CreateDepartment()(
return new AcceSsDepartment();
}
//其余代码省略
};
选项
答案
(1)void Insert(Department department) (2)Department GetDepartment(int id) (3)implements IDepartment (4)implements IDepartment (5)interface IFactory (6)IDepartment CreateDepartmento
解析
本题考查抽象工厂设计模式的概念及其应用。其类图如图17—4所示。
抽象工厂设计模式的意图是:提供一个创建一系列相关或相互依赖的对象,而无须指出它们具体的类。在如下情况下应当考虑使用抽象工厂模式:
当一个系统要独立于它的产品的创建、组合和表示时;
当一个系统要由多个产品系列中的一个来配置时:
当需强调一系列相关的产品对象的设计以便进行联合使用时;
想提供一组对象而不显示它们的实现过程,只显示它们的接口时。
抽象工厂设计模式的类图如下所示,其中:
AbstractFactory抽象工厂,声明抽象产品的方法。
ConcreteFaCtory为具体工厂,执行生成抽象产品的方法,生成一个具体的产品。
AbstractProduct为抽象产品,为一种产品声明接口。
Product为具体产品,定义具体工厂生成的具体产品的对象,实现产品接口。
图17—3中的IFactory对应类图中的AbstractFactory,Sqlserverfactory和Accessfactory对应类图中的ConcreteFactory,SqlserverDepartment和AccessDepartment对应类图中的Product,而IDepartment对应类图中的AbstractProduct。
空(1)和空(2)考查接12]IDepartment中方法的定义。由其子类SqlserverDepartment和AccessDepartment中方法的定义,可知空(1)处应填入void Insert(Department department),空(2)处应填入Department GetDepartment(int id)。
空(3)和空(4)考查接口IDepartmentl~实现。接口的实现是在一个类的声明中使用关键字“implements”来表示该类使用某个已经定义的接口,然后即可在该类体中使用接口中定义的常量,而且必须实现接口中定义的所有方法。因此,空(3)和空(4)都应填入implements IDepartment。
由于所给程序中缺少接口IFactory的定义,因此空(5)处应为定义接ElIFactory,应填入interface IFactory。由于类Sqlserverfactory和Accessfactory中必须实现接口Ifactory 定义的所有方法,观察这两个类中的方法可知,空(6)处应填入IDepartment CreateDepartment0。
转载请注明原文地址:https://kaotiyun.com/show/GpDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1至问题6。【说明】某公司在WindowsServer2003中安装IIS6.0来配置Web服务器,域名为www.abc.com。
阅读以下说明,回答问题1至问题5。【说明】通过SNMP可以获得网络中各种设备的状态信息,还能对网络设备进行控制。在WindowsServer2003中可以采用IPSec来保护SNMP通信,配置管理站的操作步骤为:先创建筛选器,对输入的分组进
销售部的网络号是(1),广播地址是(2):技术部的网络号是(3),广播地址是(4);每个子网可用的IP地址有(5)个。Linux网关计算机有两个网络接口(eth0和eth1),每个接口与对应的子网相连接。该计算机/etc/sysconfig,/
阅读以下关于Linux网关安装和配置过程的说明,回答问题1至问题5。【说明】当局域网中存在大量计算机时,根据业务的不同,可以将网络分成几个相对独立的子网。图12-2是某公司子网划分的示意图,整个网络被均分为销售部和技术部两个子网,子网之间通过一台
请阅读下列SwitchA的配置信息,并在(1)~(5)处解释该语句的作用。Switch>enable(进入特权模式)Switch#configterminal(进入配置模式)Switch(config)#hostnameSwi
阅读以下说明,回答问题1至问题3。【说明】如图5-1所示,某单位通过2M的DDN专线接入广域网,该单位内网共分为三个子网。服务器放置在子网192.168.5.0/24中,财务部工作站放置在子网192.168.10.0/24,销售部工作站放置在子网
随机试题
A.水成像B.功能性MRI成像C.脂肪抑制D.MRI对比增强检查E.MR血管造影静脉注入顺磁性物质
不能引起特异性感染的是
下列哪项不是毒理学试验中溶剂的选择原则
具有一定毒性,不宜持续和过量服用的药物是
甲公司申请强制执行乙公司的财产,法院将乙公司的一处房产列为执行标的。执行中,丙银行向法院主张,乙公司已将该房产抵押贷款,并以自己享有抵押权为由提出异议。乙公司否认将房产抵押给丙银行。经审查,法院驳回丙银行的异议。丙银行拟向法院起诉,关于本案被告的确定,下列
可以直接使用现金结算的最高限额是( )元。
上市公司应将年度报告备置于()。
任何公司都是“________人”,如果不用严格守法就会轻松获利,那么其就没有任何守法的自觉性和主动性。从这个意义上讲,守法的典范不是“自动生成”的,而是环境________的结果。在不同的制度环境中,天使和魔鬼的角色是很容易转变的。填入画横线部分最恰当
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性:
Atatimewheneveryone’smindistheexplosionsofthemoment,itmightseemobtuseofmetodiscussthefourteenthcentury.Bu
最新回复
(
0
)