uml的关系分为
关联: ________ association
依赖: ------------> dependency
聚合: <>---------- agregation
泛化: <|----------- generalization
关联性:分为单向,双向关联.2个物体彼此持有对方就为关联. 类似一对一单,双关系/
关联属于比较深的关系,不容易复用. 所以在非实体类中, 可以通过接口,双拆单等方式来进行拆分.
依赖: 2个类之间相互或者单方面使用对方. 类之间彼此不持有.一般来说,类之间存在依赖非常常见, 但依赖彼此会造成错综复杂的关系,不容易理清楚. 所以对于系统来说, 以来可以应该进行足够的划分. 单类拆为多类. 如果类还存在泛化, 可以分成多个包进行管理.减少包之间依赖
聚合: 大量持有另一方对象. 类似一对多单向关系. 持有方表现为含有聚合性类,比如java的collection的子对象.
泛化: 表现为继承实现关系. 功能的扩展等. 一般来说, 泛化是最容易被发现的.只要存在扩展 . 就可以泛化
查找方式:在sequence或者collaboration图中,只要彼此发出调用,则要么为关联, 要么为依赖,要么为聚合,看彼此的内敛程度了.
在实体中, 通常为关联和聚合.
在业务/关系/服务中 ,一般为依赖