[答疑]京酱肉丝可以提炼成一个类吗?

news2024/11/23 12:20:21

DDD领域驱动设计批评文集

做强化自测题获得“软件方法建模师”称号

《软件方法》各章合集


(匿) 2024-9-3 15:02

老师,我也经常遇到这样的困惑,领域概念应该提炼到什么层次,像京酱肉丝什么条件下可以定成子类,什么条件下是实例?

图片

UMLChina潘加宇

(补注:问题的图来自《京东云开发者DDD妙文欣赏(1-4合集》)

这个问题还真不好答。其实,只要基本教育过关,不断训练出来的逻辑思维应该已经接近于本能,根本不用专门花时间去斟酌这个。如果这个地方老是被卡住,那问题就不只是面向对象建模或UML那么简单了。

既然是问“领域概念应该提炼到什么层次”,首先要了解“概念”代表了从很多很多具体实例中归纳出来的共性。

像乘数、乘法、交换律是概念,下面这个就不是,因为要是乐意可以搞出无穷多个来,1×10,1×11…… 

图片

“人有姓名”是概念,“(注意看,)这个男人叫小帅”不是,因为如果愿意,还可以有“这个女人叫小美”,“这个男人叫大壮”,“这个女人叫有容”…… 

图片

关于“京酱肉丝什么条件下可以定成子类”,先纠正一个用词。不是定成“子类”,是定成“类”。子类只是某个类在类关系中扮演的一个角色。B在和A的关系中扮演子类,但B可能在和C的关系中扮演超类,或者是扮演D的属性的类型。 

图片

如果要把某个东西定义成一个类,这个类得有自己特有的属性或操作吧?

下面是一个关于京酱肉丝的图片: 

图片

京酱肉丝有什么属性?中文名?口味?食材?剁椒鱼头、红烧茄子也有的。中文名、口味是菜品的属性,京酱肉丝特有的只是属性的值。 

图片

有的同学可能会有这样的问题:

假设系统要跟踪餐馆里出品的每一份京酱肉丝,看看里面的猪里脊真实质量多少(精确到微克),甜面酱真实质量多少(精确到微克),那么是不是就可以把京酱肉丝图片右侧的猪里脊等变成属性,把京酱肉丝变成一个类呢? 

图片

也不行,首先,这个时候关心的不是食材是什么,而是食材的真实质量,这两个不是一个东西。另外,同上,这不是京酱肉丝特有的,真正的概念是类似下面的内容:

 

图片

那什么时候京酱肉丝可以成为一个类?

就是它是一个“类”的时候——这不废话嘛!实际上是说它像“面”、“咖啡”一样,成为一个类别的时候,就可以建模成一个类了。注意,是可以,但不一定要这样做。

这是有可能的。像“可乐”,一开始指的是一种叫“可口可乐”的饮料。此时,饮料才是“类”,可口可乐只是饮料的一个实例。后来跟随者越来越多,人们大脑里逐渐建立起这样的概念:那种黑褐色的、味道是那样的糖水就叫“可乐”,“可乐”就可以变成一个类。

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

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

相关文章

百元以下蓝牙耳机性价比之王品牌?四大高能性价比机型推荐

面对市场上琳琅满目的蓝牙耳机品牌和型号,消费者往往难以抉择,特别是当预算限定在百元以下时,找到一款既满足基本功能又具备一定品质的蓝牙耳机变得尤其困难,那么百元以下蓝牙耳机性价比之王品牌?尽管价格是一个重要的…

位运算+前缀和+预处理,CF 1017D - The Wu

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1017D - The Wu 二、解题报告 1、思路分析 我们注意到 sum(w[])会很大但…

JKTECH柔性振动盘智能柔性上料机

柔性振动盘:重塑自动化上料新纪元 在快速发展的智能制造领域,面对复杂多变的物料需求,传统的上料方式已难以满足高效、精准、灵活的生产要求。柔性振动盘,作为自动化上料技术的革新者,正以其独特的优势,引…

comfyui攻略:故障报错应对指南!

前言 ComfyUI的常见故障和解决,赶紧收藏起来, 在探索ComfyUI的曲折旅途中,最让人心生畏惧的莫过于那漫天的红色方框和层出不穷的报错信息。它们如同不息的风暴,一波未平,一波又起,令无数热忱的初学者在这…

Dart 3.5更新对普通开发者有哪些影响?

哈喽,我是老刘 Flutter 3.24以及Dart 3.5不久前发布了。 突然觉得时间过得好快。六年前刚开始使用Flutter 1.0的场景还在眼前。 之前写了一篇文章盘点Flutter 3.24的新功能对普通开发者有哪些影响。Flutter 3.24 对普通开发者有哪些影响?https://mp.wei…

两个方法,设置Word打开密码!

想要保护word文件中的内容,我们可以给文件设置一个打开密码,这样只有知道密码的人才能够打开查看文件,今天分享两个word文件设置打开密码的方法。 方法一: 打开word文档后,点击【文件】-【信息】-【保护文档】这里有…

推荐让你事半功倍的5款实用软件

​ 今天我要向大家推荐5款超级好用的效率软件,无论是在学习还是办公中都能够极大地提高效率。这些软件可以帮助你解决许多问题,而且每个都是真正的神器。 1. 音乐管理——MusicBee ​ MusicBee是一款功能强大的音乐管理和播放软件,适合音乐…

STM32CubeMx学习笔记——GPIO使用

一、新建工程 1、选择芯片型号 2、配置时钟RCC 选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器) ​ 3、时钟树配置 在clock Configuration中将HCLK配置为最高频率然后回车 ​ 4、选择调试模式 SYS 设置,选择 Debug 为 Serial Wire …

iOS开发者新技能:将Flutter集成到你的原生应用中

如何在iOS原生项目中嵌入Flutter 一、创建一个新的iOS项目 首先,在 Xcode 中创建一个新的 iOS 项目,选择 Swift 作为开发语言,因为它的语法简洁,易于理解。 二、打包Flutter项目 在将 Flutter 模块集成到 iOS 项目之前&#xf…

Windows conda常用方法

这里写目录标题 conda链接jupyter conda链接jupyter 列出当前所有环境: conda env list 创建新环境: conda create -n your_env_name pythonX.X(2.7、3.6、3.8等) 激活环境: conda activate your_env_name 链接jupyte…

大模型微调有必要做吗?LoRa还是RAG?

我需要对大模型做微调吗? 想自定义大模型时,选择:微调还是RAG还是ICL? 需要对大模型做微调? 在人工智能的世界里,大型语言模型(LLM)已经成为了我们探索未知、解决问题的得力助手。…

uniapp业务实现

uni.requset添加异常判断提示,以及加载动画 /*** 该函数用于发送网络请求获取数据* 请求失败时会弹出相应的错误提示* 请求成功时会检查返回的数据是否存在错误,并根据错误代码做出相应处理* 如果数据请求成功且无错误,则将返回的数据赋值给pets变量*/fu…

NVIDIA Triton Inference Server 部署 yolov5

文章目录 一、拉取 tensorrt 、yolov5、tritonserver 镜像二、下载 yolov5-6.2、tensorrtx/yolov5-6.2源码三、pt转wts四、wts转engine五、创建triton推理服务器六、创建客户端进行测试 一、拉取 tensorrt 、yolov5、tritonserver 镜像 docker pull hakuyyf/tensorrtx:trt8.2_…

群晖NAS本地部署Photopea在线图片PS编辑工具

文章目录 前言1. 部署Photopea2. 运行Photopea3. 群晖安装Cpolar4. 配置公网地址5. 公网访问测试6. 固定公网地址 前言 本文主要介绍如何在群晖NAS本地部署Photopea在线图片PS编辑工具,并结合cpolar内网穿透实现公网环境远程访问本地部署的Photopea处理图片. Phot…

JAVA开源项目 员工绩效考核系统 计算机毕业设计

本文项目编号 T 021 ,文末自助获取源码 \color{red}{T021,文末自助获取源码} T021,文末自助获取源码 目录 一、系统介绍1.1 业务分析1.2 用例分析 二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行…

梧桐数据库|中秋节活动·抽奖领取大闸蟹

有话说 众所周不知,我的工作就是做一个国产的数据库产品—中国移动梧桐数据库(简称WuTongDB)。 近期我们举办了一次小活动,来提升梧桐数据库的搜索量和知名度,欢迎大家来参加,免费抽奖领取大闸蟹哦~~~ 具…

AIGC入门:Comfyui整合包,解压即用!

前言 今天给大家分享的Comfyui的整合包,无需复杂的操作,解压即可使用。 整合包已经打包好了,获取方式放在👇,需要的朋友可以自行领取哦。 什么是Comfyui ComfyUI采用节点式的操作方式,这种方式让用户能…

有哪些好用的终端行为审计系统?

终端行为审计软件是用于监控、记录和分析计算机终端操作行为的工具,它们对于提高企业信息安全管理、防止内部数据泄露和提升内控水平至关重要。 1. 金刚钻信息网站行为审计系统:通过细粒化审计终端用户行为,提供文件操作日志、文件外发日志、…

WRF-LES与PALM微尺度气象大涡模拟、PALM静态数据预备、PALM驱动数据预报、PALM模拟

查看原文>>>WRF-LES与PALM微尺度气象大涡模拟及ChatGPT在大气科学领域应用 针对微尺度气象的复杂性,大涡模拟(LES)提供了一种无可比拟的解决方案。微尺度气象学涉及对小范围内的大气过程进行精确模拟,这些过程往往与天气…

2024年身份验证技术应用的10大发展趋势

文章目录 前言一、无密码身份验证1、流行的无密码身份验证方法二、基于行为的身份识别技术1、主流的行为身份识别技术三、社交媒体授权登录1、应用社交媒体授权登录的好处四、去中心化身份验证1、去中心化身份验证的主要功能和优点五、自适应身份验证六、身份威胁检测和响应(I…