首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用(14)原则可扩展已有的系统,并为之提供新的行为。
遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用(14)原则可扩展已有的系统,并为之提供新的行为。
admin
2019-06-12
76
问题
遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用(14)原则可扩展已有的系统,并为之提供新的行为。
选项
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://kaotiyun.com/show/5ECZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
下列叙述中错误的是__________。(2008年上半年试题)
如下图所示,若路由器C的e0端口状态为down,则当主机A向主机C发送数据时,路由器C发送____________。
在Linux操作系统中,命令()可以正确关闭系统防火墙。
以下关于三重DES加密的叙述中,正确的是(41)________________。
无类别域问路由(CIDR)技术有效地解决了路由缩放问题。使用CIDR技术把4个网络C1:192.24.0.0/21C2:192.24.16.0/20C3:192.24.8.0/22C4:192.24.34.0/23汇
在进行进度安排时,PERT图不能清晰地描述(1),但可以给出哪些任务完成后才能开始另一任务。某项目X包含任务A、B、…、J,其PERT如下图所示(A=1表示该任务A的持续时间是1天),则项目X的关键路路径是(2)。(2013年上半年试题)(2)
某项目主要由A~I任务构成,其计划图(如下图所示)展示了各任务之间的前后关系以及每个任务的工期(单位:天),该项目的关键路径是(1)。在不延误项目总工期的情况下,任务A最多可以推迟开始的时间是(2)天。(2009年上半年试题)(2)
在进行进度安排时,PERT图不能清晰的描述(1),但可以给出哪些任务完成后才能开始另一任务。某项目X包含任务A、B、……、J,其PERT如下图所示(A=1表示该任务A的持续时间是1天),则项目X的关键路路径是(2)。(2)
阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】StringEditor类的功能是:已知一个字符串,返回将字符串中的非字母字符都删除后的字符串。public(1){publicstati
请补充函数fun(),该函数可以统计一个长度为n的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asdascasdfgasdasasdmlosd,子字符串为asd,则应输出4。注意:部分源程序给出如下。请勿改动主函数
随机试题
在标志、标线齐全的高速公路上行车,应当按照什么规定的车道和车速行驶?
案例背景:张某是中国改革开放后从美国获得MBA学位者之一。完成学业回国后,他被一家国有企业聘用,并被安排在重要的领导职位上。进入工作岗位不久,张某就发现,该企业在运营过程中存在许多问题。例如,经营缺乏主动性,市场经济意识不强,对政府主管部门有较强
企业对于竞争对手目标市场的分析包括
患者,男,50岁,全口义齿修复2周后,主诉打哈欠,说话时义齿容易脱位,可能的原因是()
液压马达和液压缸是液压传动系统中的()元件。
用人单位内部劳动规则的特点不包括()。
材料一材料二:2016年政府工作报告指出,一年来,我们着力深化改革开放,激发市场活力和内生动力。注重调整经济结构,提高发展质量和效益,有力地促进了经济增长。同时,切实保障和改善民生,始终把改善民生作为工作的出发点和落脚点,注重制度建设,兜住民生底线,推
隐蔽工程施工中,正确的做法是______。
【B1】【B10】
KidsCanbeGoodforMarriage,ReallyVocabularyandExpressionsworld-alteringrelationship-alteringthriveem
最新回复
(
0
)