社区
研发管理
帖子详情
关于对象职责的疑问
smallfish2001
2004-09-14 11:11:11
有一组聚集,Order 和 OrderItem。当想要保存这组对象的时候,OrderItem的保存应该在Order中,但保存Order应该在自己本身类吗?还在应该有一个它的Manager类。
...全文
211
10
打赏
收藏
关于对象职责的疑问
有一组聚集,Order 和 OrderItem。当想要保存这组对象的时候,OrderItem的保存应该在Order中,但保存Order应该在自己本身类吗?还在应该有一个它的Manager类。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stonespace
2004-09-17
打赏
举报
回复
Manager类和DAO类的差别很小
jeffyan77
2004-09-17
打赏
举报
回复
设立Manager类不是好办法。
数据持久化可以在Order内部做,也可以使用一个OrderDAO类做。这就是DAO模式。
stonespace
2004-09-15
打赏
举报
回复
根据DIM和专家模式,应该让OrderItem来做,这样可以省去manager这个类。
smallfish2001
2004-09-14
打赏
举报
回复
但这是不是又不符合DIM原则了呢?
esmilepro
2004-09-14
打赏
举报
回复
从类的单一职责原则来看,我倾向于用manager.
smallfish2001
2004-09-14
打赏
举报
回复
我觉得是什么样的存储方式应该没有什么影响的,我可以做个接口来隔离啊!
esmilepro
2004-09-14
打赏
举报
回复
"Manager是控制类,如果要保存到数据库可以用Manager来做,如果保存到文件,让OrderItem做。"
---------------------------
为什么保存到文本要OrderItem来做?如果选择用manager的话,就一并在manager里实现存储到文本里的方法就行了?
stonespace
2004-09-14
打赏
举报
回复
Manager是控制类,如果要保存到数据库可以用Manager来做,如果保存到文件,让OrderItem做。
smallfish2001
2004-09-14
打赏
举报
回复
那为什么UPDATE要用实例方法啊
jlp2004
2004-09-14
打赏
举报
回复
我觉得他本身中比较好,关于管理的这些我觉得在本身中采用静态方法比较好解决这类问题,例如ADD,DELETE,而UPDATE就采用实例方法,不知说的对不对,请大家讨论
php做控制器层jaua做服务层,服务层=应用层= GRASP控制器层
本文探讨了GRASP控制器与Evans/Fowler的服务/应用层之间的相似性和差异,并提出
疑问
:创建模型
对象
是否属于控制器
职责
而非服务/应用层
职责
。
【BlankFox学习笔记-重构与模式】趋向Factory的重构——针对创建
对象
部分重构代码
本文探讨了在代码重构过程中如何趋向Factory模式,以解决创建
对象
时遇到的问题,如过多的同名构造函数、
职责
分散和重复代码。通过创建方法封装、简单工厂和工厂方法的运用,实现代码的易读性和可扩展性。同时,文章强调了重构的必要性和应用场景,并解答了关于重构和Factory模式的相关
疑问
。
设计模式——装饰模式
博客介绍了装饰模式,它是替代继承的技术,通过
对象
关联取代类继承,能动态给
对象
增加
职责
,扩展功能更灵活,一个
对象
可多次装饰。还给出了代码示例,指出若具体构件和装饰类过多会占资源且易出错,并留下业务应用
疑问
。
Python变量,从懵懂到精通!!!
本文围绕Python变量展开,介绍了变量基础,包括定义、
职责
、声明方式等;阐述了最佳实践,如命名规范、避免使用关键字等;指出使用注意事项和常见Bug,像命名冲突、可变
对象
问题等;还对内置作用域与变量冲突、覆盖内建函数等
疑问
进行了解答。
java学习D1
博客围绕黑马2023反射中的动态代理展开,介绍其能无侵入式为代码增加额外功能,阐述程序需要代理的原因是转移
对象
过多
职责
。还说明了创建代理的相关类和参数,给出具体思路及实现步骤,最后提出代理实现方法返回类型的
疑问
。
研发管理
1,268
社区成员
28,281
社区内容
发帖
与我相关
我的任务
研发管理
软件工程/管理 管理版
复制链接
扫一扫
分享
社区描述
软件工程/管理 管理版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章