设计模式的关系
泛化关系
泛化关系用一条带空心箭头的直接表示,可以理解为继承
eg:汽车是基类,而suv这辆车就是他的子类
实现关系
实现关系用一条带空心箭头的虚线表示;
eg:将车作为一个接口类(模糊概念,比如跑的挺快),下边的小汽车或是自行车都是车这个模糊概念的实现
聚合关系
聚合关系用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;
就是说,奎桑提、厄斐琉斯、瑟提 三个可以组成心之钢,奎桑提、厄斐琉斯、永恩也可以组成心之钢,而奎桑提可以单独拿出来作为一个英雄存在,也可以去组成秘术卫士
组合关系
组合关系用一条带实心菱形箭头直线表示,如下图表示A组成B,或者B由A组成;
可以理解为,奎桑提、厄斐琉斯、瑟提、永恩、伊泽瑞尔、凯隐(其中有一个是赛季之星,心之钢+1),这六个能组成七心之钢buff,但是如果你手残,卖掉一个,就没有办法组成七心之钢了,所以这六个人 对 七心之钢,单独拿出任意几个,都无法组成七心之钢
关联关系
关联关系是用一条直线表示的;它描述不同类的对象之间的结构关系;它是一种静态关系, 通常与运行状态无关,一般由常识等因素决定的;它一般用来定义对象之间静态的、天然的结构; 所以,关联关系是一种“强关联”的关系;
比如,乘车人和车票之间就是一种关联关系;学生和学校就是一种关联关系;
关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;
依赖关系
依赖关系是用一套带箭头的虚线表示的;如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;
与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!