• Object Oriented Analysis and Design,面向对象的分析和设计
  • OOA
    • 建立针对业务问题域的清晰视图
    • 列出核心任务
    • 针对问题域建立公共词汇表
    • 列出针对问题域的最佳解决方案
  • OOD
    • 细化类关系,明确可见性
    • 增加属性
    • 分配职责(方法)
    • 消息驱动系统中消息传递方式
    • 局部应用设计模式
    • 类图时序图
  • OOP
    • 抽象
      • 接口
        • 无实现
        • 可多重继承
      • 抽象类
        • 可以有私有方法变量
        • 实现部分方法
    • 封装
      • 数据和方法绑定
    • 继承
    • 多态
      • overload为编译时
      • override为运行时
    • 关联
      • has a
      • 双向关联
        • 两个类互相知道对方公共属性和操作
      • 单向关联(大多数)
        • 一个类知道另一个类的公共属性和操作
      • 聚合
        • a包含b, b可以不在a创建时创建
      • 组合
        • 比聚合强,a包含b, b在a创建时创建
    • 内聚耦合
      • 高内聚低耦合
    • 依赖
      • use a
    • 泛化
      • is a
      • 泛型