快捷搜索:  汽车  科技

设计模式在软件设计中的应用(软件设计别再聚合和组合傻傻分不清了)

设计模式在软件设计中的应用(软件设计别再聚合和组合傻傻分不清了)1 对于一对多的关系,未思考是否属于整体和局部语义,直接判定要么是聚合要么是组合。实际可能仅是简单的关联关系,此时不需要用聚合或组合来表达,用普通关联更好。使用误区主要有:组合关系:同样的,也是一种特殊的关联关系,是一种整体和局部的关系。局部不能离开整体而独立存在,是一种语意关系。如:公司和部门的关系。若公司不存在了,则部门也不应继续存在;再如鸟和翅膀的关系,如果鸟不在了,翅膀也不存在。UML图的画法为实心菱形。聚合与组合的差异

软件设计中,除了识别实体对象,识别实体行为外,识别实体对象间的关系尤为重要。

软件设计中对于一对多的设计,往往采用聚合或组合关系标记UML图。但一般不会详细区分这2种关系。

聚合关系:一种特殊的关联关系,是一种整体和局部的关系。局部可以离开整体而独立存在,是一种语义关系。如:部门和员工的关系。若部门不存在了,员工还存在的。

UML图的画法为空心菱形。

组合关系:同样的,也是一种特殊的关联关系,是一种整体和局部的关系。局部不能离开整体而独立存在,是一种语意关系。如:公司和部门的关系。若公司不存在了,则部门也不应继续存在;再如鸟和翅膀的关系,如果鸟不在了,翅膀也不存在。

UML图的画法为实心菱形。

设计模式在软件设计中的应用(软件设计别再聚合和组合傻傻分不清了)(1)

聚合与组合的差异

使用误区主要有:

1 对于一对多的关系,未思考是否属于整体和局部语义,直接判定要么是聚合要么是组合。实际可能仅是简单的关联关系,此时不需要用聚合或组合来表达,用普通关联更好。

2 不区分是否聚合或组合,未思考其中的实现区别,其中聚合用于松散的关系,组合用于紧密的关系,在创建和销毁的时刻,会有很大差异。

#程序员##软件开发#

孜孜不倦,每日一学

猜您喜欢: