UML类图还不懂?来看看这版乡村爱情类图,一把学会!

网站建设4年前发布
17 0 0

有个词叫内卷严重!,最开始听到这个词是有个小伙伴在我的一篇HashMap源码分析文章下的留言:“哥们,你这叫内卷!”。这篇文章深度解释了扰动函数、负载因子以及相关数学方式的结果验证,有兴趣的可以跳过去阅读。《HashMap核心知识,扰动函数、负载因子、扩容链表拆分,深度学习》,那什么叫内卷呢,乍一看这词还是有点新的。其实内卷化来自单词 involution,也可以称作“过密化”。这样就好解释了,比如;,这些都可以解释为过密化带来的内卷严重问题,但好在这些都在不断的优化完善。,程序员也有内卷?!,其实大部分时候大家说的程序员内卷,指的是面试造火箭,求职越来越难。,其实从某种角度来说,我个人是不太认可说程序员有内卷的。就整个行业来看,程序员的工作就业情况和薪资待遇都是不错的。有人会觉得面试还得刷题、学源码、看框架、懂架构等等,可这些难道不应该是你做成程序员职业发展道路上,必经的突破吗?,可能每个人都会在某个时期感觉自己一直处于瓶颈期,做着重复的事情、码着CRUD的逻辑、接触不到核心的技术等等,都会猛的瞬间觉得自己快狒狒了。那这样的你似乎只能用内卷这个词让自己内心平衡了,试问自己,你对自己投入过学习成长的时间吗?你有计划破局突破自己的瓶颈吗?如果没有那不叫内卷!,谢飞机,小记,假期回来上班的一周的飞机,被组长安排了一次项目成长分享。,小组长:飞机,你分享的项目中,核心模块要给大家讲清楚。这块蛮有技术点的!,谢飞机:嗯嗯,我也在想怎么能让大家听懂。,小组长:最好借助一些工具,把代码逻辑、功能流程,通过图的方式表达出来。,谢飞机:流程图我会画了,但是这里的核心功能类,我还不知道怎么弄。,小组长:咳咳,用UML类图哇,把核心类体现出来。,谢飞机:...,没画过,我内卷了吗?,小组长:不要脸!等我画点资料,教你!,UML(Unified Modeling Language),是一种面向对象设计的建模工具,建模的核心是模型,模型是现实的简化、真实的抽象。,在 UML 中,所有的描述包括:事务、关系、图这三部分构件组成,如下图为所有构件的关系。,2023030615174711e9fa5682fc903a92c079c40df3aa82b80739736,UML 构件关系图,来自设计模式,接下来,我们就着重讲解UML中的类图关系,在乡村爱情人物里的体现。,UML 类图(Class Diagrams),是使用频率最高的 UML 图之一,类图可以表示出类、接口和它们之间的协作关系。各个接口、类、属性、方法,可以用如下方式表达。,20230306151802578b25a7583a634127d281d90e05bfbd909d7d543,UML 类图中,接口、类、属性、方法,表达方式,代码,类图,20230307014446081fdf53019c5e40d28030ceb73815f300cc12141,UML类图,继承关系,代码,类图,2023030615162143fd0516675202adce0463347bcb2a89d8505a851,UML类图,实现关系,代码,类图,20230306151749c7b4d4a9196364c8e8c19217280ecf092c3baa324,UML类图,组合关系,代码,类图,20230306151623b58a8045012b931b9e2533ac43a2646c43fea7704,UML类图,聚合关系,代码,类图,20230307014845f61b14a635edf40de0c2100aa656c5e6227f60467,UML类图,关联关系,代码,类图,20230306151623f772dd002d1f1f2a1398288203acfdbc454b4c600,UML类图,依赖关系,综上,这6种关系里,组合、聚合、关联代码结构类似,可以从依赖的强弱进行理解。强弱关系依次是:继承 > 实现 > 组合 > 聚合 > 关联 > 依赖。,为了更清楚的表达出 UML 类关系,我们把这些画到一整张图中,如下;,20230306151750d2a3fac66187d3cc21a194191b3fc207ccc204202,UML类图,赵家班全景类图,有人说,如果我们和外星人非常友善的通信了。那么两个星球之间会进行一些交流,比如问,你好,地球人人你多高呀?地球说1.75米。外星人晕了,米是什么单位?这样就只能选取两个星球通用的标准来定义,比如:1米是光在真空中1/299792458秒内经过的距离。,其实程序开发也是这样的,为了可以让大家减少对新知识内容的理解的沟通成本,需要定义一些沟通标准,比如UML类图。所以我们需要学习这些标准的工具化语言,来减少沟通成本,提升工作效率。,UML类图也是最常用的图稿,同时也非常易于掌握。为了可以把自己的知识面铺设的更加完善,技术栈掌握的更加夯实,也为了突破每一个阶段的瓶颈。那就需要不断学习,不断的积累,找机会破局。​

© 版权声明

相关文章