UML笔记

2017-11-21  本文已影响0人  MikleLi

继承 多态 封装 抽象

用例描述:
用例名 用例编号
参与者
用例描述
前置条件
后置条件
基本流程
替代流程

领域模型是对概念类或者对象的可视化

CRC判断是否是用例
CRC 类职责协作者
候选的关键抽象 排除原因 选定的名字

有用用例的测试:老板测试 EBP问题 规模测试 前两个强调可量化有价值的结果
1、老板测试:系统是否有价值,是否能解决不完美
2、基本业务测试:是否能在特定时间点特点地点具体业务范围内能完成

用例类型:基础用例,具体用例,抽象用例,附加用例
用例之间的关系:包含和扩展,还有泛化

识别现实世界的对象的方法:名词,分类列表法,模型
名词可能是一个属性就不是概念类,同义词,无关的类,角色类
能不能用一个文字或数字来描述,能就不是概念类
内延:需要用多个属性来定义。外延:存在多个实例

类之间的关系:
虚线加尖头 是依赖
实线 是关联
实线加空心四边形 聚合
实线加实心四边形 组合
实线加空心三角形 泛化
虚线加空心三角形 实现

面向对象设计原则

  1. 单一职责原则(Single Responsibility Principle)
    每一个类应该专注于做一件事情。
  2. 里氏替换原则(Liskov Substitution Principle)
    超类存在的地方,子类是可以替换的。子类不能添加任何父类没有的附加约束
    “子类对象必须可以替换基类对象”
  3. 依赖倒置原则(Dependence Inversion Principle)
    实现尽量依赖抽象,不依赖具体实现。
  4. 接口隔离原则(Interface Segregation Principle)
    应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。
  5. 启发式原则
    任何变量都不应该拥有指向具体类的指针或者引用
    任何类都不应该从具体类派生
    任何方法都不应该改写其任何基类中已经实现的方法
  6. 开闭原则(Open Close Principle)
    面向扩展开放,面向修改关闭。

设计目标:可扩展 灵活性 可插入性

面向对象设计的好处:易维护,质量高,效率高,易扩展

九大设计模式 GRASP 通用职责分配软件模式
创建者
信息专家
低耦合
控制器
高内聚
多态
纯虚构
间接性
防止变异

上一篇下一篇

猜你喜欢

热点阅读