UML类图
在这里简单介绍一下UML的图形代表的是什么意思,以及在编码过程中是如何体现的。
UML类图实例如下图所示:
图01 UML类图实例
类的表示
类的中英方对照如下:
表01 类的中英方对照
中文 | 英文 |
动物 | Animal |
鸟 | Bird |
大雁 | WildGoose |
企鹅 | Penguin |
雁群 | WildGooseAggregate |
氧气 | Oxygen |
水 | Water |
气候 | Climate |
翅膀 | Wing |
关系说明
企鹅需要‘知道’气候的变化,需要‘了解’气候规律。当一个类‘知道’另一个类时,可以用关联(association)。关联关系用实线箭头来表示
代码表示如下:
class Penguin : Bird { // 在企鹅Penguin中,引用气候Climate对象 private Climate climate; }
大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁,所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。
代码表示如下:
class WildGooseAggregate { // 在雁群WildGooseAggregate类中,有大雁数组对象narrayWildGoose private WildGoose[] narrayWildGoose; }
鸟和翅膀它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形+实绩箭头来表示。合成(Composition,也有翻译成‘组合’的)是一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
代码表示如下:
class Bird { private Wing wing; public Bird() { // 在鸟Bird类中,初始化时,实例化翅膀Wing,它们之间同时生成 wing = new Wing(); } }
动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物
等。也就是说,动物依赖于氧气和水。它们之间是依赖关系(Dependency),用虚线箭头来表示
代码表示如下:
class Animal { public Metabolism(Oxygen oxygen, Water water) { } }
设计模式总结
经过这段时间的努力总算是把《大话设计模式》这本书中提到的所有的模式的关键内容完成了。类图的简单介绍原本应该在最开始的时候完成的,但是当时觉得没有必要,今天觉得还是完成一下这样会好一些。认认真真并且上机去验证代码还是有点费时费力的,不过这样收获还是很多的,希望我的博客能够帮到其他人吧。
2014-12-12 19:53:14