[答疑精选]电饭煲对象能自己做饭么

2023-10-13 05:32

本文主要是介绍[答疑精选]电饭煲对象能自己做饭么,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

电饭煲对象能自己做饭么
走单骑(376***455) 17:16:19 

电饭煲对象能自己做饭么?
走单骑(376***455) 17:20:46 
如果说人作为对象能做饭,大家都认同。
奋斗(224***36) 17:21:47 
锅是一个做饭的工具 人调用锅的做饭的接口 并传递参数 然后锅输出饭
走单骑(376***455) 17:23:05 
要做饭就定义个"做饭接口"?
肘子(23***95) 17:23:19 
把锅作为参数传递给人,然后调用人做饭的方法也可以做饭吧
走单骑(376***455) 17:23:51 
传来传去,还是"做饭接口"
奋斗(224***36) 17:24:08 
那你那是人的职责呢还是锅的职责呢?
奋斗(224***36) 17:24:25 
做饭是人的功能还是锅的功能?
走单骑(376***455) 17:24:55 
人和锅都可以用"做饭接口"
奋斗(224***36) 17:25:10 
如果人是个厨师, 你能给他一个锅的参数,让他用指定的锅做饭
Ynot(41***25) 17:25:19 
做饭是人的功能. 也可以是锅的功能.
奋斗(224***36) 17:25:32 
具体场景具体分析罢了
肘子(23***95) 17:37:48 
电饭煲肯定有做饭接口吧
走单骑(376***455) 17:38:55 
接口是:放米-加电-成饭
owen(25***80) 17:39:10 
煲汤,煮粥,煮饭
owen(25***80) 17:39:44 
对外提供三个接口,煲汤,煮粥,煮饭
owen(25***80) 17:40:15 
放米又不是电饭锅做的
走单骑(376***455) 17:40:27 
煲汤,煮粥,煮饭好像功能的分解
肘子(23***95) 17:40:58 
放米,加电不是电饭煲的责任吧
owen(25***80) 17:41:10 
嗯,不是
奋斗(224***36) 17:41:15 
如果拿锅做边界的话,你的做饭这个用例粒度太大了
奋斗(224***36) 17:41:46 
你的锅可以烧水,煲粥,炒菜。。
owen(25***80) 17:41:57 
这个是电饭锅
奋斗(224***36) 17:41:57 
这样的粒度可以
奋斗(224***36) 17:42:38 
锅是研究对象还是人是研究对象呢
走单骑(376***455) 17:43:04 
锅是研究对象
奋斗(224***36) 17:43:39 
那就先分析这个锅能用来做什么吧
走单骑(376***455) 17:43:55 
怎么分析?
走单骑(376***455) 17:45:49 
煲汤流程+煮粥流程+煮饭流程
走单骑(376***455) 17:46:18 
还不如煲汤接口+煮粥接口+煮饭接口
落夜(643***31) 11:36:50 
就这个饭和米的问题我都觉得有太多问题了,对人来说越快煮好煮好吃很重要,对市场来说,功能越多越好,能占领市场,而老师说了,需求就是为改进业务上的问题,让产品变得有竞争力!那么问题来了?业务目标是什么?谁是这业务的决策者!来个系统一点的建模吧!
潘加宇(3504847) 17:23:36 
@走单骑(376***455) 17:38:55 
接口是:放米-加电-成饭
@owen(25***80) 17:39:44 
对外提供三个接口,煲汤,煮粥,煮饭
--这些都是一样的问题,看起来有类甚至有接口,很高大上,但只不过不是功能分解加了一层类的皮,和之前说的er,or类一样的,类图长得像用例图,没有得到面向对象的的好处
--真正面向对象的思考方式是:电饭锅要能做饭,需要懂得什么,可能需要懂得:食材,食材类型(米、肉、薯)、各种食材类型适用的烹调规格(煮粥,煮饭,煮汤。。。),热源类型,热源规格,容器类型,容器规格……主要逻辑应该封装在这些核心的实体类中,由这些实体类协作来实现用例,"接口"只是用于表达和执行者交互的边界,例如"热源接口","厨师接口"。
--注意,上面抽象用词是热源、食材、容器,没有电,没有饭,也没有锅。也就是说,设计要源于需求,高于需求,才能随着需求的变化保持稳定。
--当然,以上说法是电饭锅比较智能的情况下。现在的电饭锅并没有那么智能(所以便宜),所有信息都是由外面的执行者指定的。电饭锅只需要记住人指定的设置,执行就可以。你在锅里放一块骨头,然后要求煮粥,它也照样执行。没多少逻辑的系统,面不面向对象区别不是很大。

走单骑(376***455) 17:38:25 
嗯,热源、食材、容器等,做为实体类可以。
UML菜鸟(12***22) 20:52:29 
按上面说电饭锅要能做饭,抽象用词是热源、食材、容器,没有电,没有饭,也没有锅。
那人与人之间发生交易。比如买股票。那是不是不应该有证券交易所,而是应该有,投资人,融资企业,债权债务关系。

这篇关于[答疑精选]电饭煲对象能自己做饭么的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201104

相关文章

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

SpringBoot实现导出复杂对象到Excel文件

《SpringBoot实现导出复杂对象到Excel文件》这篇文章主要为大家详细介绍了如何使用Hutool和EasyExcel两种方式来实现在SpringBoot项目中导出复杂对象到Excel文件,需要... 在Spring Boot项目中导出复杂对象到Excel文件,可以利用Hutool或EasyExcel

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行