第十三~十六章 软件详细设计

单选题

1. 下面代码耦合为()。
class test {
  int number;
  public double sqrtANumber(){
    return Math.sqrt(number);
  }
无耦合
数据耦合 (答案)
印记耦合
控制耦合

2. 当继承体系中的类不符合LSP时,说明继承耦合为高耦合,可以()降耦。
将继承替换为组合 (答案)
应用DSP
应用OCP
应用多态
3. 为了应对需求变更,好的设计方案会封装(隐藏)变更,其应用的设计原则为()。
DSP
OCP (答案)
SRP
LSP

多选题

1. 为提高设计方案的可修改性和灵活性,可以在设计方案中使用()。
OCP (答案)
SRP (答案)
DIP (答案)
设计模式 (答案)
2. 软件系统模块化可以通过()实现。
耦合
内聚
抽象 (答案)
分解 (答案)
3. 当面向对象设计中发生访问耦合时,可以选择的降耦方法有()。
接口最小化 (答案)
迪米特法则 (答案)
里氏替换原则(LSP)
针对接口编程 (答案)

判断题

1. 模块化要遵循的原则是低内聚、高耦合。
标准答案:
F
2. 为了提高设计方案的内聚度,就要保证设计单一职责(SRP)的类。
标准答案:
T

问答题

1. 结构化设计中的耦合与内聚都有哪些情况?按由低到高的顺序写出。
标准答案:
耦合(低到高):数据、印记、控制、重复、公共、内容;
内聚(低到高):偶然、逻辑、时间、过程、通信、功能、信息。
2. 判断下面的代码为高耦合还是低耦合?如果是高耦合,如何降耦?
Public class Sales{
    SalesMapper salesMapper;
    public void endSales(){
        salesMapper.save();
    }
}

public class SalesMapper {
    public void save(){//方法实现}
}
标准答案:
高耦合
设计接口 SalesMapperService
让SalesMapper类实现接口
让Sales类依赖接口
该设计改进应用了针对接口编程原则和DIP(依赖倒置)原则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值