uml基本类图关系

相传八阵图是诸葛亮创设的一种阵法,变化万端,深不可测,可挡十万精兵。UML虽然没有那么出神入化,但其重要性是毋庸置疑的,特别是作为一种OO的描述语言。而在这里开始的设计模式,我将把UML提升到一个重要的高度,如何判断你是否熟练掌握了设计模式呢?我猜想有两点:

  1. 给你一种设计模式的UML描述,你能立即认出此为何种设计模式,并且精确理解其适用的场景。观UML,如观代码。
  2. 给你一个需求,你能分解出对象,以及对象之间的关系,并且挑选出合适的设计模式,并明确其适用的场景。

    对于初学者来说,只要达到观设计模式的UML图,如观OO代码就可以了,其他方面的经验都是对业务逻辑的理解,这个就在对象以及UML之外了,看你对生活的理解是否深刻,而非UML描述的应用是否熟练了。

 

    下面介绍一下UML中类与类之间的关系,以及最终反映到具体代码中是什么样子的。

    假设有两个类A和B,接口C,将六大关系阐述如下(个人理解,定有不严谨之处)

聚合(Aggregation):

A在逻辑上有多个B组成,这里是除了B没有其他的部件是A的部件。A的成员变量中包含B类型的聚合。

  

 

关联(Association):

A类的某个成员变量的类型为B。

 

组合(Composition):

A在逻辑上由B组成,当然也可能还有其他的组成部分,B可以是A组成部分之一,A中可能有1个或者一组B类型的成员变量。当然AB既然是组合关系,那么也是属于关联的范畴的。 

 

继承(generalization):

 

实现接口(realization):

 

依赖(Dependency):

A依赖于B: A类的某个成员方法调用的参数中包含B类的实例。

 

好了先把第一层练好,如果潜意识里碰到一个UML记号,你能立即反映出这个符号的名字以及它实际上的意义,那么设计模式心经第一层已经大功告成了。

看似简单,实则不易,循序渐进方能成大道,切莫如这尘世般浮躁才是。

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值