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

2023-09-21 23:47:55

DDD领域驱动设计批评文集

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

《软件方法》各章合集

jeri 2023-9-10 13:09

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

UMLChina潘加宇

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

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

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

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

图片

更多推荐

SLAM从入门到精通(服务通信)

【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:feixiaoxing@163.com】前面我们谈到了消息通信,但是这种通信是单向的。也就是一个人发送消息,一个人接收消息,仅此而已。在ros当中,还有一种通信,称之为服务通信。它和单项通信最大的区别就是,我们把数据发送给对方,还能得到对方的反馈结果。这在很多场合

AIGC|从革新内容创作到社会共识建立,迎接全新技术维度

在人工智能的巨浪之下,我们身临一场前所未有的文化演变,一股革命性的力量正在重新定义我们的创造性边界。这股力量不是人类的智慧,而是人工智能生成内容(AIGC)技术,它正以前所未有的速度和广度改变着我们的世界。从创意到实用,从文化到商业,AIGC技术正引领着我们进入一个崭新的时代,在其中,既有挑战也有机遇。当前,新技术的广

ruoyi框架开发LOT项目

背景最近闲着就用ruoyi的框架写了一个LOT项目,个人觉得效果还可以。1、首页2、企业管理3、用户管理4、设备列表5、设备列表标签展示6、设备详情页面7、大屏展示界面8、结束-----华丽的分割线,以下是凑字数,大家不用花时间看,快去改代码----------华丽的分割线,以下是凑字数,大家不用花时间看,快去改代码-

Android StringFog 字符串自动加密

一、StringFog作用一款自动对dex/aar/jar文件中的字符串进行加密Android插件工具,正如名字所言,给字符串加上一层雾霭,使人难以窥视其真面目。可以用于增加反编译难度,防止字符串代码重复。支持java/kotlin。支持app打包生成的apk加密。支持aar和jar等库文件加密。支持加解密算法的自主扩

基于SSM的四六级报名与成绩查询系统的设计与实现

末尾获取源码开发语言:JavaJava开发工具:JDK1.8后端框架:SSM前端:采用JSP技术开发数据库:MySQL5.7和Navicat管理工具结合服务器:Tomcat8.5开发软件:IDEA/Eclipse是否Maven项目:是目录一、项目简介二、系统功能三、系统项目截图​编辑四、核心代码登录相关文件上传封装五、

思腾云计算

思腾合力成立于2009年,于2018年8月将总部从北京中关村迁到天津滨海区。思腾合力专注人工智能领域,拥有自主品牌AI服务器及通用X86服务器,为NVIDIA精英级别的合作伙伴,公司扎根高性能计算领域多年,已经打造出了一套完全自主的软硬件结合的产品生态。思腾合力位于天津滨海区逸仙科学工业园建筑面积6000平方米的人工智

企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理工程项目各模块及其功能点清单一、系统管理1、数据字典:实现对数据字典标签的增删改查操作2、编码管理:实现对系统编码的增删改查操作3、用户管理:管理和查看用户角

解释器模式简介

概念:解释器模式(InterpreterPattern)是一种行为型设计模式,它用于定义语言的文法,并解析和执行给定语言中的表达式。该模式将每个表达式表示为一个类,并提供了一种方式来组合这些表达式以实现复杂的语句。特点:定义了一种简单、可扩展的语法规则,使得可以灵活地处理不同类型的表达式。通过使用面向对象技术,可以方便

Linux环境安装开发grafana插件(一)试水

继续我们探索grafana结合Skywalking,为了更加灵活的应用图表,尝试开发grafana的panel插件,但试水并不顺利,所以把第一步目标缩小到安装一个自定义插件。参考了不少文章,终于成功,但各类参考要么比较碎片化,要么有些地方过时了,所以还是整合一下,对希望对大家节省时间有所帮助。环境:grafana+li

moment.js插件ios时间格式不兼容问题

项目背景uniapp开发中,考试模块的时间显示,因为每次进入考试都要重新计算开始的时间,因此使用moment.js十分方便,但要注意在ios系统中时间格式问题;moment.js使用步骤Moment.js是一个轻量级的JavaScript日期库,可以解析,验证,操作和格式化日期。1.安装npminstallmoment

Linux CentOS7 tree命令

tree就是树,是文件或文件名输出到控制台的一种显示形式。tree命令作用:以树状图列出目录的内容,包括文件、子目录及子目录中的文件和目录等。我们使用ll命令显示只能显示一个层级的普通文件和目录的名称。而使用tree则可以树的形式将指定目录下的普通文件和目录全部显示出来。相对于ll或者ls命令,tree就高效很多。一、

热文推荐