首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用( )原则可扩展已有的系统,并为之提供新的行为。
遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用( )原则可扩展已有的系统,并为之提供新的行为。
admin
2017-08-31
64
问题
遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用( )原则可扩展已有的系统,并为之提供新的行为。
选项
A、开闭
B、里氏替换
C、依赖倒置
D、接口隔离
答案
A
解析
本题考查面向对象设计的设计原则。
面向对象设计有七大原则,分别是:单一职责原则、开放封闭原则、李氏替换原则、依赖倒置原则、接口隔离原则、组合重用原则和迪米特原则。下面我们分别简单介绍一下这些原则。
(1)单一职责原则(SRP):就一个类来说,应该仅有一个引起它变化的原因。也就是说,一个类应该只有一个职责。如果有多个职责,那么就相当于把这些指责耦合在一起,一个职责的变化就可能削弱或抑制了这个类完成其他职责的能力,引起类的变化的原因就会有多个。所以在构造一个类时,将类的不同职责分离至两个或多个类中(或者接口中),确保引起该类变化的原因只有一个。
(2)开闭原则(OCP):软件组成实体应该是可扩展的,但是不可修改。开放一封闭原则认为应该试图设计永远也不需要改变的模块。可以添加新代码来扩展系统的行为,不能对已有的代码进行修改。这个原则很好的实现了面向对象的封装性和可重用性。
(3)替换原则(LSP):子类应当可以替换父类并出现在父类能够出现的任何地方。这个原则是Liskov于1987年提出的设计原则。它同样可以从Bertrand Meyer的DBC(Design by Contract)的概念推出。以圆和椭圆为例,圆是椭圆的一个特殊子类。因此任何出现椭圆的地方,圆均可以出现。但反过来就可能行不通。
运用替换原则时,尽量把类B设计为抽象类或者接口,让C类继承类B(接口B)并实现操作A和操作B,运行时,类C实例替换B,这样即可进行新类的扩展(继承类B或接口B),同时无须对类A进行修改。
(4)依赖倒置原则(DIP):在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖于具体类。具体类只负责相关业务的实现,修改具体类不影响与特定业务有关的依赖关系。在结构化设计中,可以看到底层的模块是对高层抽象模块的实现,这说明,抽象的模块要依赖具体实现相关的模块,底层模块的具体实现发生变动时将会严重影响高层抽象的模块,显然这是结构化方法的一个“硬伤”。面向对象方法的依赖关系刚好相反,具体实现类依赖于抽象类和接口。为此,在进行业务设计时,应尽量在接口或抽象类中定义业务方法的原型,并通过具体的实现类(子类)来实现该业务方法,业务方法内容的修改将不会影响到运行时业务方法的调用。
(5)接口分离原则(ISP):采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。ISP原则是另外一个支持诸如COM等组件化的使能技术。缺少ISP,组件、类的可用性和移植性将大打折扣。这个原则的本质相当简单。如果拥有一个针对多个客户的类,为每一个客户创建特定业务接口,然后使该客户类继承多个特定业务接口将比直接加载客户所需所有方法有效。
(6)组合重用原则:就是能用组合实现的地方,尽量用组合来实现,而不要使用继承来扩展功能,因为组合能更好地实现封装,比继承具有更大的灵活性和更稳定的结构。
(7)迪米特原则:指一个对象应该对于其他对象有最少的了解,这样做的好处就是可以有效地降低类之间的耦合要求。
转载请注明原文地址:https://www.kaotiyun.com/show/7jRZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
为了进行差错控制,必须对传送的数据帧进行校验,由接收方检测数据传输是否出现差错。常用的差错控制方法是(41)。要检测接收的数据是否有错,最常用的方法是(42)。汉明码是一种纠错码,采用汉明码纠正一位差错,若信息位为7位,则冗余位至少应为(43), CRC-
DES加密算法采用的密码技术是(1),它采用(2)位密钥对传输的数据进行加密。著名的网络安全系统Kerberos采用的是(3)加密技术。公钥密码是(4),常用的公钥加密算法有(5),它可以实现加密和数字签名。
ISO7498-2从体系结构的观点描述了可选的安全服务、特定的安全机制和普遍性的安全机制分别是(1)种。可信计算机系统评估准则(TCSEC)共分4类7级,分别为(2)。我国发布的《GB17895—1999计算机信息系统安全保护等级划分准则》规定了计算机
I/O系统主要有(24)、(25)和(26)三种方式来与主机交换数据。其中(24)主要用软件方法来实现,CPU的效率低;(25)要有硬件和软件两部分来实现,它利用专门的电路向CPU中的控制器发出I/O服务请求,控制器则(27)转入执行相应的服务程序;(26
Linux是使用最为广泛得网络操作系统之一。在linux网络配置文件中有几个较为重要的配置文件:用于存放本机主机名以及经常访问IP地址的主机名的是(34)。Linux下存在两个网络服务守候进程的配置文件。通过修改(35),可以达到关闭或开放某种对应服务的目
客户/服务器模式产生于20世纪(27)上年代,它是基于(28)的要求而发展起来的。客户/服务器模式的第一个软件产品是(29)系统,客户/服务器模式通常在(30)环境下运行,客户端的软件具有(31)。
假设某计算机具有1MB的内存,并按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制(33)位。为使4字节组成的字能从存储器中一次读出,要求存放在存储器中的字边界对齐,一个字的地址码应(34)。若存储周期为200 ns,且每个周期可访问4个
假设某计算机具有1MB的内存,并按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制(33)位。为使4字节组成的字能从存储器中一次读出,要求存放在存储器中的字边界对齐,一个字的地址码应(34)。若存储周期为200 ns,且每个周期可访问4个
某CPU的主振频率为100 MHz,平均每个机器周期包含4个主振周期。各类指令的平均机器周期数和使用频度如表2.9所示,则该计算机系统的速度为平均约(5)兆指令/秒。若某项事务处理工作所要执行的机器指令数是控制程序(以访内、比较与转移等其他指令为主)220
某CPU的主振频率为100 MHz,平均每个机器周期包含4个主振周期。各类指令的平均机器周期数和使用频度如表2.9所示,则该计算机系统的速度为平均约(5)兆指令/秒。若某项事务处理工作所要执行的机器指令数是控制程序(以访内、比较与转移等其他指令为主)220
随机试题
有以下程序:#include<stdio.h>main(){ intx,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是( )。
组织中含乳汁管的药材是
《药品管理法》规定,劣药是指
[2013年,第51题]已知动点的运动方程为x=t,y=2t2。则其轨迹方程为()。
我国城镇登记失业人员是指有非农业户口,(),有劳动能力,无业而要求就业,并在当地就业服务机构进行求职登记的人员。
诚实守信是遵守会计职业道德的()。
把最重要的概念放在复习的开头,在最后再对它们进行总结,这是利用了首位效应和_________的原理。
选出一个不会产生歧义的句子是()。
下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。在main函数中,若fun返回1输出YES,若fun返回0输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,
TheauthorofthebookOntheHumanAnimalwasnotatalldubiousofthedisastrousfutureofhuman’slifeinthatrespect.
最新回复
(
0
)