初入职场与UML的邂逅
刚踏入职场之初,初入部门的第一周,我的leader交给我一个任务——熟悉一个模块的调用过程。这个模块复杂程度超乎想象,其中涉及数十个类、上百个方法,类与类之间的关系更是错综复杂。面对这样的庞然大物,我尝试着在纸上绘制其关系,却因太过密集而在睡醒后已无法辨识,当时的困惑和迷茫至今仍记忆犹新。那时,leader轻描淡写地指出“工具不对”,随后我开始接触了UML(Unified Modeling Language)。
UML是一种用于对软件密集系统进行可视化建模的统一建模语言。它的图种类繁多,但初学者无需掌握全部,只需聚焦于几类常用图进行系统分析和设计工作。其中,类图、用例图和时序图是工作中最常用的,掌握它们就能完成大部分工作。而作为程序员,使用最频繁的莫过于类图。
在UML的类图中,具体类通常用矩形框表示。这个矩形框分为三层:第一层是类名;第二层是成员变量;第三层则是成员方法。成员变量和方法前的访问修饰符以及它们的类型或返回类型,都会用对应的符号在类图中标示。
抽象类在UML类图中的表示与具体类相似,但抽象类的类名以及抽象方法名都会用斜体字表示。而接口的表示则有所不同,它同样使用矩形框,但在第一层顶端会用``标注。需要注意的是,接口的方法默认拥有public访问权限,因此不需要额外标注。
类和接口通常会存在于包中,包在UML类图中的表示形式也十分明确。继承关系、实现关系、聚合关系和组合关系等都是类与类之间的常见关系,它们在UML类图中的表示方式各具特色。比如,继承关系是用空心三角和实线组成的箭头表示;实现关系则是用空心三角和虚线组成的箭头;聚合关系用空心菱形加实线箭头表示;而组合关系则用实心菱形加实线箭头表示。
依赖关系是对象之间的一种弱关联关系。在UML类图中,依赖关系用一个带虚线的箭头表示,箭头从使用方指向被使用方。