跳至内容
- 课程目标
- 原则概述
- 可维护性
- 指的是软件可以很方便的理解、改正、适应和拓展的难易程度
- 就是方不方便修改了的意思
- 可复用性
- 指导性原则
- 用于评价一个设计模式的使用效果的重要指标之一
- 为支持可维护性复用诞生
- 单一职责原则
- 一个类制作一件事
- 作用
- 用于控制一个类的粒度
- 保证一个类里面不用实现所有的功能,仅仅需要实现单一职责即可
- 定义
- 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中
- 就一个类而言,应该仅有一个引起变化的原因
- 开闭原则
- 不修改源代码,只添加代码
- 定义
- 软件实体只能增加功能,尽量不修改功能
- 尽可能只是拓展代码来增加新功能/修改原有功能
- 关键
- 具有稳定的抽象层+灵活的具体层
- 修改配置文件,增加类,这个些操作都符合开闭原则
- 里氏代换原则
- 父类对象可被子类对象代替,且程序将不会产生任何错误和异常(因为子类把父类的一些方法重载了)
- 在程序中尽可能使用基类类型来对对象进行定义
- 依赖倒转原则
- 编程使用配置文件,仅仅是接受对象操作对象,在外部进行创建对象注入
- 接口隔离原则(网络上的那种API接口)
- 合成复用原则
- is-a继承复用 has-a组合/聚合复用
- 就是类似于把mysql的obj反射出来,然后再操作
- 迪米特原则
- 减少对象之间的交互
- 两个对象不应该发生任何直接的相互作用
- 通过”第三者”转发这个调用
- 引入一个合理的”第三者”来降低现有对象之间的耦合度
第一章
- 课程目标
- UML
- 统一建模语言
- 概念
- 通用的可视化建模语言
- 通过一些标准的图形符号和文字对系统进行建模
- 作用
- 视图(View)
- 用户视图
- 以用户的观点来标识系统的目标,它是所有视图的核心
- 描述系统的需求
- 结构视图
- 表示系统的静态行为
- 描述系统的静态元素,如包、类与对象,以及它们之间的关系
- 行为视图
- 表示系统的动态行为
- 描述系统的组成元素如对象在系统运行时的交互关系
- 实现视图
- 表示系统中逻辑元素的分布
- 描述系统中的文件以及它们之间的关系
- 环境视图
- 表示系统中物理元素的分布
- 描述系统中的硬件设备以及它们之间的关系
- 视图关系图
- 图(Diagram)
- 模型元素(Model)
- 模型元素
- 就是图上面的符号
- 用于描述事物以及事物与事物之间的关系
- 每一个模型元素都要一个阈值相对应的图形元素
- 同一个模型元素可以在不同的UML图中使用
- 类
- 定义
- 封装了数据和行为
- 是具有相同属性、操作、关系的对象集合的总称
- 一个类可以有多个职责(功能),但设计的好的类通常只有单一职责(功能)
- 类的属性
- 类的操作(类实现的方法)
- 类图
- UML类图
- 类之间的关系
- 关联关系
- 表示一类对象与另一类对象之间的关系
- 实线连接
- 通常将一个类的对象作为另外一个类的成员变量
- 单向关联
- 多重性关联(就是有2个+的成员变量存储/被存储了)
- 多重表示,通常在直线上使用一个数字/数字范围来表示
- 聚合关系
- 表示整体与部分的关系(容器与成员的关系)
- 成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在
- 使用带空心菱形的直线表示
- 图例
- 组合关系
- 聚合关系相同的表示
- 成员是整体的一部分,但是成员对象跟整体对象的生命周期一样,整体对象销毁了,成员对象也会被销毁
- 使用带实心的菱形直线表示
- 因为是在整体(Head)对象中new的对象,销毁了head,就会连带把成员对象都销毁掉
- 依赖关系
- 表示一个事物使用另外一个事物
- 体现在某个类的方法使用另一个累的对象作为参数
- 使用带箭头的虚线
- 依赖的一方指向被依赖的一方
- 泛化关系(继承关系)
- 用于描述父类与子类的关系
- 用带空心三角形的直线表示
- 图例
- 接口与实现关系
- 接口之间也存在继承关系和依赖关系
- 接口与雷志坚存在一种实现的方法
- 使用带空心三角形的虚线表示
- 图例