当前位置: 首页 > 科技观察

看不懂UML类图?看看这个版本的乡村爱情课图,马上学会!

时间:2023-03-19 10:22:37 科技观察

1.码场体验中有个词叫严重内卷!第一次听到这个词是我的一篇HashMap源码分析文章中朋友的留言:“哥们,你这叫内卷!”。本文对相关数学方法的扰动函数、负载因子和结果验证进行了深入的解释。有兴趣的可以跳过阅读。《HashMap核心知识,扰动函数、负载因子、扩容链表拆分,深度学习》那么什么是内卷?乍一看,这个词还是有点新鲜。其实,involution来源于involution这个词,也可以叫做“over-density”。这很容易解释。比如100个人上厕所,就有3个坑,没办法公平分配。所以今天谁穿短裤就先拿到700以上的100分,30%的名额可以去清北。在600分以上的3万多名考生中,很多人可能连211都过不了。道路拥堵,大家都不能开车,只能无限期地排队等候抽签。这些都可以说明过度致密导致的内卷严重问题,但好在这些都在不断优化完善中。程序员也有内向?!其实很多时候人们说程序员身不由己,意思是面试造火箭,求职越来越难了。其实从某种角度来说,我个人是不认同程序员有内卷的。从整个行业来看,程序员的就业形势和薪资都是不错的。有的人认为做面试题、学源码、看框架、懂架构等等,但这些不应该是你作为程序员在职业发展道路上必经的突破口吗?可能大家会觉得自己在某个时期处于瓶颈期,做着重复的事情,编写增删改查逻辑,接触不到核心技术等等,突然觉得自己要变成狒狒了。看来只能用“介绍”二字来平衡自己的内心了。问问自己,你是否投入时间学习和成长?你有突破瓶颈的计划吗?如果不是,那不叫对合!2.谢季飞在会议室,一个小纸条,teamleader在返工一周的飞机上安排了一个项目成长分享会。组长:飞机,你分享的项目中,核心模块应该给大家解释清楚了。这一段很有技术含量!谢季飞:嗯,我也在想怎么让大家明白。组长:最好使用一些工具,通过图表来表达代码逻辑和功能流程。谢继飞:我会画流程图,但是我不知道这里核心的功能类怎么做。TeamLeader:咳咳,用UML类图来体现核心类。谢季飞:……,我没画过,我内向吗?领队:不要脸!等我抽点资料教你!3、学习UML(UnifiedModelingLanguage)是一种面向对象设计的建模工具。建模的核心是模型,是对现实的简单化和真实的抽象。在UML中,所有的描述包括:事务、关系和图,它们由三部分组成。下图显示了所有组件的关系。UML组件关系图,从设计模式出发接下来重点讲解UML中的类图关系,体现在农村爱情人物身上。1.类图模型UML类图(ClassDiagrams)是最常用的UML图之一。类图可以表示类、接口以及它们之间的协作关系。每个接口、类、属性和方法都可以用以下方式表示。UML类图、接口、类、属性、方法、表达式方法2.继承关系代码publicclass谢广坤{privateStringgeneration;publicvoidmakeademon(){}}publicclassXieYongqiangextendsXieGuangkun{}publicclassXieAircraftextendsXieGuangkun{}类图UML类图,继承关系函数:继承关系概念:继承(Generaliztion),又名泛化,用来表示子类继承了父类的所有功能。场景:谢广坤的妖术被谢永强和谢季飞继承。谢飞机继承的更好,能力也更强。3.实现关系代码publicinterfacedance{voidmoves();}publicclass刘能实现dance{privateString来江名;publicvoidmoves(){}}publicclassZhaosiimplementsdance{privateStringcomeName;publicvoidmoves(){}}类图UML类图,实现关系功能:实现关系概念:抽象类声明的接口、方法,其功能由类实现(Realiztion)。场景:在赵四和刘能的舞蹈比赛中,赵四动作花哨,被刘能适时踢倒。4.结合关系代码公类结婚证{私赵玉田男;私立柳莺女;publicvoidsetman(赵雨田man){this.男人=男人;}publicvoidsetwoman(柳莹女人){this.女人=女人;}}publicclassZhaoYutian{privateintage;privateStringgender;}publicclass刘英{privateintage;privateintgender;}类图UML类图,组合关系功能:组合关系概念:组合(Combination)关系表示类中整体与部分的关系,整体与部分相互依赖。场景:赵雨田和刘莹的结婚证少不了。5.聚合关系码publicclassVilla{private宋晓峰Xiaofeng;私人李宝库宝库;publicvoid药膳房(李宝库宝库){this.宝库=宝库;}publicvoid保安部(宋晓峰Xiaofeng){this.Xiaofeng=Xiaofeng;}}publicclass李宝库{privateStringoccupation;}publicclassSongXiaofeng{privateStringoccupation;}类图UML类图,聚合关系函数:聚合关系概念:聚合(Aggregate)关系也用来表示对象的整体和对象的一部分,但成员对象可以独立于整个对象而存在。场景:?山庄,中草药里有李保库,保卫处有宋晓峰。而李宝库和宋晓峰只是其中之一,他们都可以离开别墅。6.协会关系代码公班豆腐厂{私人王小萌员工;publicvoidaddemployee(王小萌小萌){this.employee=Xiaomeng;}}publicclassWangXiaomeng{民营豆腐厂企业;publicvoidaddenterprise(tofufactorytofuFactory){this.Enterprise=TofuFactory;}}类图UML类图,关系函数:关联关系概念:关联(Association)关系是类之间常用的一种关系,表示一个类的对象与另一个类的对象关联。组合和聚合也属于这种关系,只是关联关系较弱。场景:豆腐厂里有王小萌,但是豆腐厂里不仅有王小萌,还有王老七。就算小萌不在,豆腐厂也能正常运转。而王小萌也有自己的其他公司,所以这是关联关系。7.依赖代码publicclassinvestment{publicvoidinvestment(王大拿){}}publicclasswangdana{privateStringresource;}类图UML类图,依赖函数:依赖概念:依赖(Dependency)关系时表示一个事务需要使用另一个事务,可以使用依赖关系。场景:需要王大娜招商引资,但不止这一个。如果王大娜不能来,可能还有李大娜和张大娜。4.赵家班全景类图综上所述,六种关系中,组合、聚合、关联的代码结构比较相似,可以从依赖的强度来理解。强弱顺序为:继承>实现>组合>聚合>关联>依赖。为了更清楚地表达UML类之间的关系,我们把它们画成一个整体图,如下;然后两个星球之间会有一些交流,比如问,你好,地球上的各位,你多高?地球说1.75米。外星人晕了,米是什么单位?这样,我们只能选择两个行星共同的标准来定义,例如:1米就是光在真空中1/299792458秒传播的距离。其实,程序开发也是如此。为了降低理解新知识内容的沟通成本,需要定义一些沟通标准,例如UML类图。因此,我们需要学习这些标准的工具语言,以降低沟通成本,提高工作效率。UML类图也是最常用的艺术品,也很容易掌握。为了更好的打好自己的知识,更扎实的掌握技术栈,也为了突破各个阶段的瓶颈。然后就需要不断学习,不断积累,寻找破局机会。