Skip to content

面向对象开发

  • 对象:数据及其操作构成的封装体,描述客观事物的一个实体,由对象名、属性和方法组成
  • 类:实体的形式化描述,对象是类的实例,类是对象的模板。可分为三种
    • 实体类:现实生活中真实的实体
    • 接口类:为用户提供一种==与系统合作交互==的方式
    • 控制类:控制活动流,充当协调者
  • 抽象:通过特定的实例抽取共同特征后形成概念的过程。强调主要特征,忽略次要特征
  • 封装:信息隐蔽技术
  • 继承:表示类之间的层次关系(父类与子类)
  • 多态:不同对象收到同一个消息时产生完全不同的接过。包括
    • 函数多态:不同类型参数多种结构类型
    • 包含多态:父子类型关系
    • 过载多态:类似于重载,一个名字不同含义
    • 强制多态:强制类型转换
  • 接口:只说明操作应该做什么
  • 消息:对象间交互
  • 覆盖(重写):同名同参数
  • 函数重载:同名不同参数
  • 绑定:把过程调用和响应调用所需要执行的代码加以结合
    • 动态绑定:运行时绑定
    • 静态绑定:在编译时绑定
  • 面向对象的分析:确定问题域,理解问题。包含五个活动
    • 认定对象
    • 组织对象
    • 描述对象间的相互作用
    • 确定对象的操作
    • 定义对象的内部信息
  • 面向对象需求建模面向对象需求建模
  • 面向对象设计:设计分析模型和实现相应的源代码
    • 分析模型:由顶层架构图、用例与用例图、领域概念模型构成
    • 设计模型:以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理结果的活动图
  • 面向对象设计原则
    • 单一责任原则:一个类仅有一个引起变化的原因
    • 开放-封闭原则:实体应该是可以扩展的(开放的),但是是不可修改的(封闭的)
    • 里氏替换原则:子类型必须能够替换掉他们的基类型
    • 依赖倒置原则:抽象不应该依赖于细节,细节应该依赖于抽象
    • 接口分离原则:依赖于抽象、不要依赖于具体
  • 面向对象软件测试分为下列四个层次
    • 算法层:测试类中的每个方法
    • 类层:测试封装在同一类中的所有方法与属性之间的相互作用
    • 模板层:测试一组协同工作的类之间的相互作用
    • 系统层:把各个子系统组装成完整的面向对象软件系统

统一建模语言语言 UML

  • 一种可视化的建模语言,而非程序设计语言
  • 结构包含
    • 构造块:事物、关系和图
    • 公共机制
    • 规则
  • 事物分类
    • 结构事物
    • 行为事物
    • 分组事物
    • 注释事物
  • 关系分类
    • 关系
    • 依赖:一个事物的语义依赖于另一个事物的语义的变化而变化
    • 关联:分为组合(有共同的生命周期)和聚合,都是部分和整体的关系
    • 泛化:一般/特殊的关系
    • 实现:一个类元指定了另一个类元保证执行的契约
  • 类图:静态图,是系统的静态设计视图,展现一组对象、接口、协作和它们之间的关系
  • 对象图:静态图,展示某一时刻一组对象及它们之间的关系,为类图的某一快照
  • 用例图:静态图,展现了一组用例、参与者以及他们之间的关系
    • 用例图中的参与者是人、硬件或者其他系统可以扮演的角色
    • 用例之间的关系有 ==扩展、包含和泛化==
  • 序列图:动态图,即顺序图,是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。三种消息
    • 同步消息:实心箭头
    • 异步消息:空心箭头
    • 返回消息:从右到左的虚线箭头
  • 通信图:动态图,即协作图,强调参加交互的对象的组织
  • 状态图:动态图,展现一个状态机,描述单个对象在多个用例中的行为,包含简单状态和组合状态
    • 转换通过事件触发器触发
    • 触发后响应的监护条件会检查
  • 活动图:动态图,是一种特殊的状态图,展现在系统内从一个活动到另一个活动的流程
    • 并发分叉
    • 并发汇合
    • 监护表达式
    • 分支
  • 构件图(组件图):静态图,为系统静态实现图,展现一组构件之间的组织和依赖
  • 部署图:静态图,为系统静态部署图,展示物理模块的节点分布
  • UML 4+1 视图
    • 逻辑视图:设计视图,类、子系统、包和用例
    • 进程视图:可执行线程和进程作为活动类的建模,是逻辑视图的一次执行实例,描述了并发与同步结构
    • 实现视图:物理代码的文件和构件的建模
    • 部署视图:构件部署到一组物理节点上
    • 用例视图:最基本的需求分析模型

设计模式

  • 架构模式:高层决策
  • 设计模式:描述了不断重复发生的问题,以及该问题的解决方案的核心。包含四个基本要素
    • 模式名称
    • 问题(何时使用)
    • 解决方案(设计的内容)
    • 效果(模式应用的效果)
  • 惯用法:关注软件系统的设计与实现,实现时通过某种特定的程序设计语言
  • 创建型设计模式创建型设计模式
  • 结构型设计模式结构型设计模式
  • 行为型设计模式行为型设计模式 1

行为型设计模式 2

如有转载或 CV 请标注本站原文地址