您的位置:首页 > 运维架构 > 网站架构

[系分] 面向对象设计

2017-06-01 17:28 197 查看


On to Object Design

阅读书上第14章


三种设计对象的方式

code
draw, then code
only draw


编码前会是UML需要话费多少时间

几个小时至多1天


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
在生命线框图右上角写 一个“1”标示

基本表示法(书上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
框图右上角标识 1

dependency(依赖)
依赖线常出现在类图和包图中, 虚线箭头线
使用依赖线描述对象之间的全局变量、参数变量、局部变量和静态方法的依赖

接口实现:interface realization
composition over aggregation 组合优于聚合
聚合:模糊的关联, 组合:很轻的整体-部分聚合关系
组合:实心棱形线
在某一时刻,部分的实例只属于一个组成实例
部分必须总是属于组合的
组成必须要负责创建和删除其部分,如果纸质棋盘被销毁,棋格也将不存在

association class
将关联本身作为一个类

qualified association
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息