[答疑]角色和状态的区别

news2025/1/11 4:08:53

DDD领域驱动设计批评文集

“软件方法建模师”不再考查基础题

《软件方法》各章合集

jeri 2023-9-10 13:09

设备关联角色,设备也有子类(车辆/设备),按书中的解释,设备是一个抽象类,角色类名像是带了状态名的类,如在使用的设备/在维护的设备,设备和这几个角色是关联关系,而且是0.1的关系,潘老师的观点是泛化关系还是关联关系?

UMLChina潘加宇

是关联。事物-事物之间可以泛化,角色-角色之间可以泛化(而且顶级的超类就叫“角色”)。角色的目的就是用关联取代泛化(或缩小泛化波及范围)来获得灵活性,类似于GoF中的模板方法变成策略。

角色和状态还是好区分的,角色相当于普通属性,关联到的类就是属性的类型,角色就是属性的名称(名词)。

“类的属性”要说得通。张三(类:人)的配偶(角色)是林志玲(类:人)

状态(形容词)刚好相反,是“状态的类”,“有配偶”(状态)的“张三”(人),而且,状态往往是冗余的。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1030638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三天:实现网络编程基于tcp/udp协议在Ubuntu与gec6818开发板之间双向通信

互联网地址 每一台设备接入互联网后,都会举报一个唯一的地址编号 IP地址 INTERNET地址 internet地址 :它是协议上的一个逻辑地址 目前来说,我们主要的IP地址有两类 IPV4 IPV6 IPV4 其实就是使用一个32bit整数作为IP IPV6 其实就是使用一…

#循循渐进学51单片机#实例练习与经验累积#not.9

1、掌握不同类型变量转换的规则与字节操作进行位修改的技巧。 unsigned char a;unsigned int b;unsigned int c; 1)自动类型转换 2)强制类型转换C (unsigned long)a*bl; C (unsigned long)(a*b); 3)不同类型变量的赋值b a …

BabelEdit 5.0.1 Crack

BabelEdit加强软件本地化。BabelEdit 是处理 json、yaml、php、arb、vue、properties、resx 或 xliff 翻译文件的可靠解决方案。 旨在使开发过程更加简化和高效。 下载BabelEdit 5.0.0 对于Windows 也适用于macOS 和 Linux BabelEdit - 适用于 Web 和应用程序的翻译编辑器 (…

ps智能填充功能平替:alpaca的安装和使用

为了解决ps beta 智能填充无法使用的问题,需要用alpaca来平替,下面是安装教程: 安装方法: 1、下载插件。 alpaca插件汉化-夸克网盘https://pan.quark.cn/s/1168b447a44e#/list/share 2、 根据使用的PS版本,选择对应文件…

如何从外网远程控制企业内网电脑?

在企业中,保护公司机密和数据安全是至关重要的。为了确保员工在使用公司电脑时遵守相关规定,许多公司会采取外网监控员工电脑的方法。本文将介绍一些真实有效的方法和具体的操作步骤,以帮助您更好地监控员工电脑。 一、什么是外网监控&#x…

【Redis】Redis 的学习教程(十一)之使用 Redis 实现分布式锁

1. 分布式锁概念 在多线程环境下,为了保证数据的线程安全,锁保证同一时刻,只有一个可以访问和更新共享数据。在单机系统我们可以使用 synchronized 锁、Lock 锁保证线程安全。 synchronized 锁是 Java 提供的一种内置锁,在单个 …

北工大汇编——综合题(1)

题目要求 统计字符数。从键盘输入一行字符,统计字母、空格、数字、其他宇符的个数,并显示。要求:提示输入一行宇符串;键盘输入宇符串,Enter 键结束输入,并换行显示结果。 题目代码 DATAS SEGMENT;此处输…

Node.js 调用 fluent-ffmpeg

最近开发H5资源在线裁剪,最终在资源合成的步骤,选择 ffmpeg 作为合成的插件,记录下使用方式。 一、介绍 ffmpeg 一款跨平台多媒体处理工具,可以进行视频转码、裁剪、合成、音视频提取、推流等操作。 二、安装 Node js 可以利用…

qt+ffmpeg视频播放器实现音视频倍速功能

目录 一、前言 二、开发环境参考源码 开发环境: 参考源码: 三、添加倍速控件 四、倍速调节代码 五、视频倍速调节 六、音频倍速方案一 七、音频倍速方案二 八、最终效果 九、参考文献 十、结语 一、前言 参考了云天之巅的FFMPEG Qt视频播放器…

Tomcat常见报错以及手动实现Tomcat

一.Tomcat的简单启动 1.安装Tomcat 2.Tomcat启动 1. 双击 bin 目录下的 startup.bat 文件 2. 输入 http://localhost:8080/,显示如下界面代表安装成功, 默认在 8080 端口 3. 注意,不要关闭黑窗口,关闭了,tomcat 服务就停止了…

LabVIEW开发基于物联网的多功能功率分析仪

LabVIEW开发基于物联网的多功能功率分析仪 根据技术规则,电气元件网络中的单个被创建为在标称正弦波振动制造频率下运行。失真顺序的电流和电压波与正弦波不同,它们或多或少地扭曲成形状。它是由交流网络中非线性组件的存在引起的,例如静态转…

R语言进行孟德尔随机化+meta分析(1)---meta分析基础

目前不少文章用到了孟德尔随机化meta分析,今天咱们也来介绍一下,孟德尔随机化meta其实主要就是meta分析的过程,提取了孟德尔随机化文章的结果,实质上就是个meta分析,不过多个孟德尔随机化随机化的结果合并更加加强了结…

月木学途开发 4.公告模块

概述 效果图 数据库设计 DROP TABLE IF EXISTS announcement; CREATE TABLE announcement (announcementId int(11) NOT NULL AUTO_INCREMENT,announcementTitle varchar(255) DEFAULT NULL,announcementTime varchar(255) DEFAULT NULL,announcementContent longtext,PRIMAR…

计算机组成原理——基础入门总结(二)

上一期的路径:基础入门总结(一) 目录 一.输入输出系统和IO控制方式 二.存储系统的基本概念 三.cache的基本概念和原理 四.CPU的功能和基本结构 五.总线概述 一.输入输出系统和IO控制方式 IO设备又可以被统一称为外部设备~ IO接口&…

Jetpack:在数据变化时如何优雅更新Views数据

本文讲的是关于Jetpack的架构组件LiveData,LiveData是Lifecycle-aware 组件的一个应用,这意味着LiveData遵守Activity、Fragment和Service等组件的生命周期,在它们生命周期处于活跃状态(CREATED和RESUMED)才进行更新Vi…

《计算机视觉中的多视图几何》笔记(8)

8 More Single View Geometry 本章主要讲述除了点以外的几何体,在投影变换下的性质。这些几何体包括:平面,线,圆锥曲线,二次曲线。 讲到这里就明白了,为什么投影几何这么重要,因为摄像机就是一…

VLANIF配置

目录 实验原理: 案例: 设备配置 用ping验证不同vlan之间实现相互通信 实验原理: VLANIF接口是一种第三层的逻辑接口,用于在第三层实现不同VLAN 之间的通信。 每个VALN有一个VLANIF接口,并通过该接口在网络层转发…

【操作系统笔记】缓存一致性

CPU 核心之间数据如何传播 高速缓存中的值被修改了,那么怎么同步到内存中呢? ① 写直达(Write-Through)② 写回(Write-Back) 写直达(Write-Through) 简单,但是很慢&am…

《Kubernetes部署篇:Ubuntu20.04基于containerd二进制部署K8S 1.25.14集群(多主多从)》

一、架构图 如下图所示: 二、部署说明 2.1、部署流程 1、系统环境初始化,主要包括 主机名设置、主机hosts解析、关闭防火墙、关闭swap分区、修改系统参数、时间时区同步、修改内核参数、启用ipvs模式。 2、使用一键生成K8S集群证书工具创建证书文件。…

vue页面嵌入飞书网页组件,用于在类似ERP,OA等系统中展示在线文档

先展示最终效果(就是在vue页面中,内嵌了一块ifream页面): 1. 注册进入飞书开放平台,地址为: 飞书开放平台 2.进入开放平台后,选择--创建企业自建应用--创建网页应用,然后在主页面记住该应用的appId和appSecret参数,后面要用 3.然后注意一点的是,因为后面的授权等逻辑我们一般…