社区
研发管理
帖子详情
关于对象职责的疑问
smallfish2001
2004-09-14 11:11:11
有一组聚集,Order 和 OrderItem。当想要保存这组对象的时候,OrderItem的保存应该在Order中,但保存Order应该在自己本身类吗?还在应该有一个它的Manager类。
...全文
193
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就采用实例方法,不知说的对不对,请大家讨论
单一
职责
模式:解决大类
对象
和传参过多的问题
如果一个类承担的
职责
过多,就相当于将这些
职责
耦合在一起,当其中一个
职责
变化时,可能会影响其他
职责
的运作,因此要将这些
职责
进行分离,将不同的
职责
封装在不同的类中,即将不同的变化原因封装在不同的类中,如果多个
职责
总是同时发生改变则可将它们封装在同一类中。第二个是开始的时候这个业务不是那么复杂,但是随着业务的发展,变得越来越复杂,修改的地方也越来越多,这个时候就有一个量变到质变的过程,为了以后更好的维护,就需要对代码进行重构,而且重构时间越早越好,重构完成之后,后面的修改就方便了很多且影响也较小。
Java设计模式之
职责
链模式介绍
职责
链模式(chain of responsibility pattern) 定义: 避免将一个请求的发送者与接收者耦合在一起,让多个
对象
都有机会处理请求.将接收请求的
对象
连接成一条链,并且沿着这条链传递请求,直到有一个
对象
能够处理它为止。在
职责
链模式中,多个处理器(也就是刚刚定义中说的“接收
对象
”)依次处理同一个请求。一个请求先经过 A 处理器处理,然后再把请求传递给 B 处理器,B处理器处理完后再 传递给 C 处理器,以此类推,形成一个链条。
面向
对象
六大设计原则(一)单一
职责
原则
单一
职责
原则 单一
职责
原则(SRP:Single responsibility principle)又称单一功能原则,面向
对象
设计六大原则之一。它规定一个类应该只有一个发生变化的原因。该原则由罗伯特·C·马丁(Robert C. Martin)提出的。
关于业务
对象
本质的思考(1)
关于业务
对象
本质的思考 [摘要]:本文基于前人在OO、DDD等领域的研究成果,结合个人工作经验及感悟,对业务
对象
(Business Object)的本质进行了提炼和总结,并就BO三要素以及BO的获取和验证等问题进行了阐述,旨在加深OOA/D人员对BO的正确认识,分析并设计出更优质的软件产品。 1 引言 对于采用OO思想,并具有N层架构的计算机程序而言,业务
对象
(Business Object...
Java类和
对象
:类是
对象
的模板,
对象
是类的实例化
Java类和
对象
:类是
对象
的模板,
对象
是类的实例化
研发管理
1,268
社区成员
28,284
社区内容
发帖
与我相关
我的任务
研发管理
软件工程/管理 管理版
复制链接
扫一扫
分享
社区描述
软件工程/管理 管理版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章