UML中的依赖,组合关系等+C#

简介: 具体的东西被抽象,然后加以概括,归类,我个人认为这是思维的一个升华,就像给一个东西下定义一样,如何才能用自己的话讲这个东西说明清楚,当然要有全面的认识,所以抽象不是没有根据的,而是建立在自己的认识之上。

 

具体的东西被抽象,然后加以概括,归类,我个人认为这是思维的一个升华,就像给一个东西下定义一样,如何才能用自己的话讲这个东西说明清楚,当然要有全面的认识,所以抽象不是没有根据的,而是建立在自己的认识之上。

面向对象开发的时候都会接触到依赖,关联等,不仅仅是面向对象开发,就在其他开发的时候也会遇到,比如在使用ArcGIS Engine开发的时候,那些OMD图,这些关系,其实自己已经很熟悉了,光给别人培训就讲解了好几次。

人的大脑对图片可能有一种天生的存在意识,比如看一篇很长的文字描述的时候,我们可能不知所云,但是如果用图的形式将这个内容勾勒出来,却容易被吸收,当然这个图也不是凭空想象,还是建立在自己的认识之上,是对文字的另外一种表达。相同的意思,有不同的表达方式,正式如此。

 

我喜欢模拟,当时在培训的时候,模拟了QI,模拟了接口回调等,但是对于UML中的几种关系,却迟迟未动,看来自己真懒,趁这个时间,我将别人写的“偷”过来,作为警示吧。内容见下面的博客。

 

http://www.cnblogs.com/demon521/archive/2009/01/12/1374175.html

  这几天要写点文档用到UML的类图,重新再次捡起以前的知识,多多少少有点总结,在这里记录下来,也算是以备后用吧。

    在这里推荐大家可以尝试着用用以下我推荐的二种UML工具:

  • Visual.UML.Developer.Edition.v5.1(感觉不错,功能强大,不过收费)
  • StarUML(开源免费,05年之后就没有再维护更新过,韩国人开发,符合亚洲人的习惯)

 

    在UML类图中,类与类之间的关系主要有以下几种:

  • 泛化(Generalization)

     所谓的泛化就是我们最常用的继承关系

image

   1:      public class Employee
   2:      {
   3:          
   4:      }
   5:      public class SaleEmployee:Employee
   6:      {
   7:          
   8:      }
  • 依赖(Dependency)

依赖关系是指一个类对别一个类的依赖,比如说Employee类中有一个方法叫做TakeMoney(Bank bank)这个方法,在这个方法的参数中用到了Bank这个类,那么这个时候可以说Employee类依赖了Bank这个类,如果Bank这个类发生了变化那么会对Employee这个类造成影响。

   1:      public class Employee
   2:      {
   3:          public long TakeMoney(Bank bank)
   4:          {
   5:              return long.MaxValue;
   6:          }
   7:      }

Snap2

 

  • 关联(Association)

      关联关系有点边界模糊和依赖有点像,但又完全不像。关联是指一个类用到了另外的一个类,但不依赖。还是用代码来表达比较贴切

   1:      public class Shcool
   2:      {
   3:          public Student stu;
   4:      }
   5:      public class Student
   6:      {
   7:          
   8:      }

Snap3

 

  • 聚合(aggregation)

        聚合是一种单向关系,聚合与关联的区别在于聚合的两个类之间的关系在概念层次上不是一个级别的,一般来说聚合中的类关系总是一个类比别一个类要高级一些,而关联基本上是平级的

   1:      public class Car
   2:      {
   3:          public Engine engine;
   4:          public Wheel wheel;
   5:      }
   6:      public class Engine
   7:      {
   8:          
   9:      }
  10:      public class Wheel
  11:      {
  12:          
  13:      }

 

Snap4

  • 合成(Composition)

合成是一种特殊的聚合形式,它是提类与类之间的联系是非常密切的,少了那一个也不行。

Snap5

    • 实现(Realization)    
  •     

简单的说就是接口

Snap6

 最后,推荐一个博客:http://blog.csdn.net/maybehelios/article/details/2038685

相关文章
|
数据可视化 uml
UML类图的六大关系,最佳学习理解方式
UML类图的六大关系,最佳学习理解方式
382 0
UML类图的六大关系,最佳学习理解方式
|
2月前
|
设计模式 关系型数据库 程序员
UML中常用设计模式OCP、单例模式、简单工厂模式等模式讲解及C#中代码实现(附源码)
UML中常用设计模式OCP、单例模式、简单工厂模式等模式讲解及C#中代码实现(附源码)
52 0
|
数据可视化 uml
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
UML图讲解,关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系。
2432 0
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
|
测试技术 uml
用例关系 和 UML类关系
用例关系 和 UML类关系
95 0
用例关系 和 UML类关系
|
测试技术 uml
UML图的依赖、关联、聚合、组合关系(突击软考)
UML图的依赖、关联、聚合、组合关系(突击软考)
195 0
|
设计模式 C# uml
UML类图及C#实现
我们引用《大话设计模式》中得UML类图图示样例来学习UML类图。 本文UML类图使用了Visual Paradigm工具绘制。 UML视图主要可以帮我们理清楚思路:知道每个对象直接的交互关系,而且让我们更加清楚的知道什么时候用什么结构。
UML类图及C#实现
|
测试技术 uml
一次讲清:UML类图中的六大关系
今天给大家分享UML图以及其中最重要的UML类图的几大关系,几分钟交会大家如何制作出UML类图。在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。
一次讲清:UML类图中的六大关系
|
uml
通过简单例子 | 快速理清 UML 中类与类的六大关系
通过简单例子 | 快速理清 UML 中类与类的六大关系
83 0
通过简单例子 | 快速理清 UML 中类与类的六大关系
|
uml
UML - 依赖与关联关系
UML - 依赖与关联关系
130 0
UML - 依赖与关联关系
|
uml
UML - UML中类与类的关系
UML - UML中类与类的关系
183 0
UML - UML中类与类的关系