本文总结自Design Patterns Explained A New Perspective on Object-Oriented Design第2版。
类图:它是UML中的最基本的一个,描述了类以及类与类之间的关系。
有如下几种关系:
【1】Is-a:当一个类是某种另一个类,这就是is-a关系。比如说Point,Line,Square(is-a)Shape
【2】当2个类之间存在associations(关联)时,有如下关系:
(1)一个类含有另一个类:has-a
(2)一个类使用另一个类:uses-a
(3)一个类creates另一个类
也可以这样说:
(1)被包含的项是包含项的一部分(比如汽车中的引擎),这是组合关系【但Gun of four说是聚合】
(2)我有一组东西,它们可以独立存在(比如飞机场中的飞机),这是聚合【但Gun of four说是组合】
聚合用空心菱形加直线。
组合用实心菱形加直线。
使用也就是依赖用虚线加箭头。
继承用空心三角形加直线。