软件构造复习3——知识点总结

第 9 章 可复用性

软件复用的概念

软件复用是指在软件开发过程中,使用现有的软件资产来构建新的软件系统,以提高开发效率和质量。

Liskov 替换原则(LSP)

Liskov 替换原则(LSP)是指在一个程序中,如果对一个基类对象的引用可以被其子类对象替换,而不影响程序的正确性和完整性,则称这个子类对象遵循了 Liskov 替换原则。简单来说,就是子类应该能够替换父类并且保持程序正确运行。

LSP 包括以下内容:

  • 子类型多态(需要满足 LSP)
  • 协变(co-variance)和逆变(contra-variance)
  • 数组的子类型化
  • 泛型的子类型化

委托(delegation)

委托是指一个对象将某些操作委托给另一个对象来完成。委托可以分为以下几种类型:

  • Dependency
  • Association
  • Composition
  • Aggression

委托还包括复合复用原则(CRP),即在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有对象,使之成为新对象的一部分;新对象通过向这些对象的委派达到复用已有功能的目的。

黑盒框架与白盒框架

黑盒框架和白盒框架是两种常见的软件框架。黑盒框架中,Framework 将功能委托给 Plugin-Interface,然后由用户实现这个接口;而白盒框架则需要用户继承 Framework 中定义的抽象类,并实现其中定义的抽象方法。

第 10 章 可维护性

可维护性概念

可维护性是指软件系统在开发和运行过程中,能够快速定位并修复错误、改进性能、增加新功能等,以满足用户需求和适应环境变化。

面向对象设计原则:SOLID

SOLID 是面向对象设计中五个基本原则的首字母缩写,分别代表:

  • 单一责任原则(SRP):一个类应该只有一个引起它变化的原因。
  • 开放封闭原则 (OCP):软件实体应该对扩展开放,对修改关闭。
  • Liskov 替换原则(LSP):子类应该能够替换父类并且保持程序正确运行。
  • 接口隔离原则 (ISP):客户端不应该依赖它不需要的接口。
  • 依赖倒置原则(DIP):高层模块不应该依赖低层模块,两者都应该依赖抽象。

正则表达式

正则表达式是一种用来匹配字符串中字符组合的模式。正则表达式包括元字符、字符集简写、基础匹配示例等内容。

第 11 章 设计模式

设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验总结的代码模板。设计模式有 23 种,我们只需要掌握其中几种常用模式。

创建型模式

创建型模式包括工厂模式等。

结构型模式

结构型模式包括适配器模式、装饰器模式等。

行为型模式

行为型模式包括策略模式、模板模式、迭代器模式、访问者模式等。

第 12 章 健壮性与正确性

健壮性与正确性的概念

健壮性是指软件系统能够在异常情况下仍然正常运行;正确性是指软件系统能够按照预定要求完成任务。

Java 异常的分类

Java 中异常分为两大类:checked 异常和 unchecked 异常。checked 异常需要在代码中显式处理;unchecked 异常不需要显式处理。

异常处理

Java 中异常处理包括 try-catch-finally 语句和 throws 关键字。try-catch-finally 语句用于捕获并处理异常;throws 关键字用于声明方法可能抛出的异常。

断言

断言是一种调试技术,可以在代码中插入检查点来验证程序运行状态是否符合预期。断言默认是关闭的,在开发过程中可以手动开启来帮助调试。

防御式编程

防御式编程是一种编程风格,旨在防止程序出错或被攻击。防御式编程包括检查前置条件、使用静态代码分析工具等方法来提高程序健壮性。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值