设计模式第四堂课
2016-03-04 15:26
204 查看
领域分析:
· 将领域概念用专业术语进行建模
· 领域模型是对领域内的概念类或现实世界中对象的可视化表示。
领域模型:
· class diagram 类图 java
可见性:+“public” -“private” #“protected”
类之间的关系relation:
依赖dependence:假设A类的变化引起了B类的变化,则说名B类依赖于A类
在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。
关联association:类之间的联系,如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单,再如篮球队员与球队之间的关联(下图所示)。
1) 双向关联: 默认情况下,关联是双向的。
2 ) 单向关联:类的关联关系也可以是单向的,单向关联用带箭头的实线表示.
3) 自关联: 在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联。
4) 重数性关联: 重数性关联关系又称为多重性关联关系(Multiplicity),表示一个类的对象与另一个类的对象连接的个数。在UML中多重性关系可以直接在关联直线上增加一个数字表示与之对应的另一个类的对象的个数。
继承inheritance:描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类
聚合aggression:表示的是整体和部分的关系,整体与部分可以分开.
在UML中,聚合关系用带空心菱形的直线表示。
分析:
1.头脑风暴:通过用例做领域建模,按用例找名词n(域),动词v(关系)、num、has
,is-a
2.classfying分类
3.group 分组
4.draw CD 画类图
· 将领域概念用专业术语进行建模
· 领域模型是对领域内的概念类或现实世界中对象的可视化表示。
领域模型:
· class diagram 类图 java
ClassName | Public class ClassName |
Attributes | Fields |
Behaviors | Methods |
可见性:+“public” -“private” #“protected”
类之间的关系relation:
依赖dependence:假设A类的变化引起了B类的变化,则说名B类依赖于A类
在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。
关联association:类之间的联系,如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单,再如篮球队员与球队之间的关联(下图所示)。
1) 双向关联: 默认情况下,关联是双向的。
2 ) 单向关联:类的关联关系也可以是单向的,单向关联用带箭头的实线表示.
3) 自关联: 在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联。
4) 重数性关联: 重数性关联关系又称为多重性关联关系(Multiplicity),表示一个类的对象与另一个类的对象连接的个数。在UML中多重性关系可以直接在关联直线上增加一个数字表示与之对应的另一个类的对象的个数。
表示方式 | 多重性说明 |
1..1 | 表示另一个类的一个对象只与一个该类对象有关系 |
0..* | 表示另一个类的一个对象与零个或多个该类对象有关系 |
1..* | 表示另一个类的一个对象与一个或多个该类对象有关系 |
0..1 | 表示另一个类的一个对象没有或只与一个该类对象有关系 |
m..n | 表示另一个类的一个对象与最少m、最多n个该类对象有关系 (m<=n) |
继承inheritance:描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类
聚合aggression:表示的是整体和部分的关系,整体与部分可以分开.
在UML中,聚合关系用带空心菱形的直线表示。
Patron |
- tel_No: String - pwd: String |
+ order Meal(payOption:int,delivery location:String,……):boolean |
分析:
1.头脑风暴:通过用例做领域建模,按用例找名词n(域),动词v(关系)、num、has
,is-a
2.classfying分类
3.group 分组
4.draw CD 画类图
UC1 Order meals | Type |
Cafeteria Patron Company location PDS Verified Delivered Picked up | C(CLASS) A(attribute) V(value) AS(association) |
Class Name | Fields | Super Class | Relevant Classes |
Patron | | Employee | Order(patron 、meal) Pay(patron、meal order) |
Menu | | | Has-a(menu、food items) |
| | | |
| | | |
相关文章推荐
- 文本挖掘的主要应用的方向
- imageloader配置
- 基于yii1.1开发个人博客系统
- centos6编译版mysql安装【转载】
- 《Cocos2d-x游戏开发实战精解》学习笔记4--实战一个简单的钢琴
- HTML+CSS学习笔记 (10) - CSS格式化排版
- 为什么下载火狐的附加组件时总是提示错误
- poj 2437 Muddy roads 贪心
- 非接触式支付哪家强?苹果Apple Pay大幅领先
- hibernate 查询
- Spark pipe 实例
- leetcode 每日一题 Delete Node in a Linked List
- web前端开发入门之网站布局
- 金蝶K3无法进入系统、反应卡慢怎么解决
- Spring MVC 中 HandlerInterceptorAdapter的使用
- Zookeeper与paxos算法
- iOS友盟三方分享登录功能
- question_021-JAVA之Map之Hashtable???
- Android事件分发机制(上)
- Android APK反编译问题