P3_C14-16:面向对象设计
On to Object Design
阅读书上第14章oop
三种设计对象的方式
- code
- draw, then code
- only draw
编码前会是UML须要话费多少时间
Designing objects
- 动态建模:交互图(顺序图或通讯图等)
- 静态建模:最多见的UML类图
Fundamental object design
- principle of responsibility assignment
- design patterns
UML interaction diagrams
阅读书上第15章编码
interaction diagrams
- 描述对象间经过消息的交互,分为sequence和communications
- sequence(示例:书上P163)
- 优点:可以清晰表示消息的顺序和时间顺序,有大量详细表示法选项
- 劣势:强制在右侧增长新对象,消耗水平空间
- communications(示例:书上P164)
- 优点:空间效用——可以在二维空间内灵活地增长新对象
- 劣势:不易查阅消息的顺序,表示法选项比较少
顺序图
- singleton
- 基本表示法(书上P166)
- alt: 互斥的有条件信息
- loop: 保护信息为真的循环片断
- opt:保护信息为真的可选片断
- par:并行执行的并行片断
- region:只能执行一个线程的临界片断
- 构造对象/建立实例:虚线, create消息
- 对集合的迭代
- 对类调用静态(或类)方法的消息
- 生命线框图表示接收消息的对象是类,《metaclass》
通讯图
- 基本画法(P175)
- link:链接两个对象的路径
- message:许多消息可能沿同一路径,消息有id和流向箭头
- 实例的建立
- UML构造型 《create》
- UML标记值 {new}
- 消息的顺序编号
- 条件消息 :在顺序编号后使用方括表示有条件消息
- mutually exclusive conditional path
- eg. 1a[test]和1b[not test]
- iteration or looping
- iteration over a collection
UML class diagrams
阅读书上第16章线程
introduction
design class diagrams(DCD)
- classifier(类元)
- ways to show UML attribute
- 属性文本、关联线
- 默认属性的可见性为private
- 领域模型的关联线没有箭头,类图的关联线有箭头
- 数据类型对象使用属性文本表示法,对其余对象使用关联线
- operations and methods
- 假设当前UML版本中包含了返回值类型
- 默认操做的可见性为public
- 操做是声明,方法是操做的实现
- keywords
- 经常使用关键字:《actor》《interface》{abstract} {ordered}
- stereotypes, profiles, and tags
- property and property string
- 如visibility等,也能够自定义{自定义特性=默认值}
- abstract classes and abstract operation
- {leaf}:表示final class和不能被子类复写的操做
- {abstr}:抽象类和操做
- 泛化(generalization):子类到超类的实现和空心三角箭头
- singleton classes
- dependency(依赖)
- 依赖线常出如今类图和包图中, 虚线箭头线
- 使用依赖线描述对象之间的全局变量、参数变量、局部变量和静态方法的依赖
- 接口实现:interface realization
- composition over aggregation 组合优于聚合
- 聚合:模糊的关联, 组合:很轻的总体-部分聚合关系
- 组合:实心棱形线
- 在某一时刻,部分的实例只属于一个组成实例
- 部分必须老是属于组合的
- 组成必需要负责建立和删除其部分,若是纸质棋盘被销毁,棋格也将不存在
- association class
- qualified association
欢迎关注本站公众号,获取更多信息