专栏名称: 北斗之光
我是来自高空的光,发光自己,完满自我,光亮万物。 我已加入“维权骑士”(rightknights.com)的版权保护计划。
目录
相关文章推荐
架构师之路  ·  我抢跑了,跟顶级专家学DeepSeek去... ·  2 天前  
架构师之路  ·  神了!最大化deepseek潜能 - ... ·  3 天前  
美团技术团队  ·  预测技术在美团弹性伸缩场景的探索与应用 ·  2 天前  
高可用架构  ·  一次线上生产库的全流程切换完整方案 ·  3 天前  
Java架构师技术  ·  SpringBoot+Flowable:一个 ... ·  3 天前  
Java架构师技术  ·  SpringBoot+Flowable:一个 ... ·  3 天前  
51好读  ›  专栏  ›  北斗之光

框架思维51UML之关联、依赖、泛化和实现的概念再理解

北斗之光  · 简书  · 架构  · 2018-02-11 08:57

正文

257

大家要简单的学会画图,我假设你会UML,你一定要把你的领域模型,用我刚才讲的这个概念,把这种关系画一张图,把别人当成一个用户看一下,如果你这个领域模型构造的根本就不对,别人也无法理解你在表达什么意思,你就不要去干了,先要把图画好。

要理解关联关系是怎么表达的,依赖关系是在画成一个虚线的曲线的箭头,注意这个关系,这个图表都只有在语境里面才有什么意思,离开这个语境里面不知道它什么意思。

大家知道在顺序图里面,它有一个返回消息,所以记住任何一个图表是在一个图的语境里面,来约定它是什么意思,这个在类图里面约定它是一个依赖关系。然后关联关系是画成是一个直线,一般的情况下,我们知道有聚集观点和合成观点,大家知道聚集观点是空心的线,合成观点是实心的线来表示,这个是很重要的。

大家要去理解一下,在领域模型里面用的比较多,聚集观点是共享关联,而合成观点是独享的。你一定要理解清楚,我是一个和我有一个是有本质性的区别的。

258

对于概念,大家一定要理解了,比如说我“是”一个男人,然后你会有这种概念,我是一个人,只不过我的性别是男的这样一个人,男人就是一个类型,理解这些,对你这个软件系统的构造是至关重要的。因为你可能会把男人和女人做成两个类型,人是一个类型,然后有个性别,然后性别再把它区分成男和女。大家想想这个什么意思?

这是一种用“是”的关系来描述的,是用友的方式描述的,人有性别,然后也可以让我有把它区分成男人和女人。我讲这个最重要的概念是什么?

你记得我不希望这个系统做完一年之后就死掉了,我们肯定要面对变化。而你设计这个系统,将来怎么面对这种变化,“是”一个的这种关系都是静态的,是不可以改变的,在将来的这个过程中间,而“有”一个就很容易改变。

Agrregation(聚合)和 Compostion (组合)之间的关系是什么?

这四种关系(关联、依赖、泛化和实现),我们可以说它代表人类社会的三种感情, 友情,爱情,亲情

259

我们经常说有一个老婆,是可以通过离婚的方式,重新换一个老婆,给她很容易的解除掉这个关系,但是有一个儿子不是,儿子那种关系是不能解除的,那是一种亲情。其实,通俗点就是这个意思。我也意识到,写这种东西,要比一般的文章难度高太多,主要是概念要非常清楚,所以,只有结合我们的日常生活和自己的人生经历来搞,这样大家就更容易理解一些。

要把概念表达清楚,仔细分别起来,有时候也很难,主要是让别人清楚,你在说什么。所以,你在设计的过程中,如果概念混乱,结果一定不会太好。

用这种思路,我可以用它代表人类社会的三种感情, 友情,爱情,亲情

我们的目标是软件系统,希望它是可扩展的,这个目标是不一样的,你不能第二天就把老婆唤了,然后我们知道家庭是用友的方式来构造的,如果你要希望这个家庭稳定,你要走向“是”什么,要把“有”的这个关系,然后要变成这种“是”的关系,“有”一个是友情,“是”一个是爱情,“生”一个是亲情,有一个老婆,你和她发生了爱情,然后就生了一个孩子是亲情,哈哈,这样一理解,于是大家就知道了这三个概念。

260

就说这个观点先不管对不对,你看有些个男人到了40,他说他是一枝花,最大的观点就开始体现出来了。大家知道婚姻被世俗化了,搞成了过日子,时间一久就容易审美疲劳了,什么东西一定要是自己的才重要,孩子一定是自己的,但老婆有可能就变成别人的,我只是说,40岁的很多男人既然有这个观念,这是比较危险的,所以,友情,亲情和爱情它在这个系统里面(可以把人的感情也当作一个系统)是不一样的,而我们的家庭为了稳定要走向亲情,所以你要忌讳把这个爱情变成亲情,因为一旦变成了亲情,人是寻找刺激的动物,你们当然可以维持一个完整的家庭亲情,可爱情,他可能要去重新寻找了,当然,最好友情爱情亲情一块,就像是比如,美国心理学家斯腾伯格提出的爱情理论,认为爱情由三个基本成分组成:激情、亲密和承诺。

他认为,激情是爱情中的性欲成分,是情绪上的着迷;亲密是指在爱情关系中能够引起的温暖体验;承诺指维持关系的决定期许或担保。这三种成分不同的组合,就构成了 喜欢式爱情、迷恋式爱情、空洞式爱情、浪漫式爱情、伴侣式爱情、愚蠢式爱情、完美式爱情 等七种类型。

他所说的三角的稳定爱,当然是完美的,可是话又说回来,在现实中,这种情况是很少的。

261

因此,我们的软件,设计理念要尽可能的变成“有”一个,因为这样系统才能可扩展,比如我们描述一个岗位的时候,这样的话清楚了,不要把这个岗位搞是一个什么,这就不容易扩展了,最重要的关注点是岗位,然后是我希望岗位“有”什么?







请到「今天看啥」查看全文