楼主: staycrazy
跳转到指定楼层
上一主题 下一主题
收起左侧

[经验总结] 稍微讲两句关于OOD的闲话吧。。关于怎么学,扯淡,以及怎么用

   
🔗
a5066987 2019-10-11 15:41:18 | 只看该作者
全局:
不能简单的将OOD等同于Design Patterns, OOD是运用面向对象思想将现实世界映射到程序世界的一整套方法论,而Design Patterns只是根据这套方法论总结出的一些固定招式。我推荐从《UML模式与应用》开始,之后再读《敏捷软件开发: 原则、模式与实践》以及楼主说的《设计模式》。更进阶的还可以去读《领域驱动设计》《重构》《企业应用架构模式》之类的。
回复

使用道具 举报

🔗
saphion 2019-10-18 08:20:29 | 只看该作者
全局:
总结的很精练很到位,是一位干过真活的人
回复

使用道具 举报

🔗
saphion 2019-10-18 08:40:34 | 只看该作者
全局:
本帖最后由 saphion 于 2019-10-18 08:42 编辑

总结的很精练很到位,是一位干过真活的人

关于第四点,无重复性和低依赖有时是一对不可调和的矛盾
一段代码,如果有10个其他模块都需要用
,重用性是高了,却变成了single point failure,稍微一变整个系统就挂了,如果第十一个也要用但需要多加个参数,怎么测那10个模块就是门艺术了,这个代码就没法重用

无重复性很容易产生高依赖而违背OO低耦合这个目标,哪怕用重载多态解决也会产生相当多的重复,所以没有完美的solution,而是一种根据经验左右平衡的艺术
回复

使用道具 举报

🔗
shyang292 2020-2-6 23:26:55 | 只看该作者
全局:
请问,同样一道题,“Design Amazon- Online Shopping System”, 既可以按system deisgn, 也可以按OOD来,不知道怎么区别?
回复

使用道具 举报

🔗
shm007 2020-4-24 14:23:37 | 只看该作者
全局:
saphion 发表于 2019-10-18 08:40
总结的很精练很到位,是一位干过真活的人

关于第四点,无重复性和低依赖有时是一对不可调和的矛盾

只能平衡下,谢谢大佬们分享。
回复

使用道具 举报

🔗
ozox 2020-4-28 08:07:52 | 只看该作者
全局:
总结很到位。一般工作中,我们最重视的就是代码的可读性。我的经验是写代码的时间远远低于后面维护和debug的时间,因此,代码的可读性非常非常的重要。代码的层次,以及必要的high level的注解。
回复

使用道具 举报

🔗
khart 2020-11-29 07:40:53 | 只看该作者
全局:
我用OOD设计过不少商业软件,面试的时候不管什么设计都能写出一些可互动的class,也不知道是啥pattern。
读了这个帖子才发现,理论上还差得远啊。
回复

使用道具 举报

🔗
Iamnickchang 2021-1-6 10:54:00 | 只看该作者
全局:
好贴 膜拜楼主!!
回复

使用道具 举报

🔗
jamesthu 2021-3-19 09:57:09 | 只看该作者
全局:
shyang292 发表于 2020-2-6 23:26
请问,同样一道题,“Design Amazon- Online Shopping System”, 既可以按system deisgn, 也可以按OOD来 ...

同问。好问题
回复

使用道具 举报

🔗
renhongxiang 2021-3-20 15:01:17 | 只看该作者
全局:
拜读了。

问一个问题。为什么 无重复性是铁律?我的理解是防止修改程序是只修改一处,导致还是有其他地方没改产生错误。不知道还有没有其他原因。
如果自动产生的程序,改动生成方法时所以程序都会自动生成,这种情况下出现重复总要吗?

对不要直接new的做法,我的理解是提供一个创建factory,用create函数通过factory来实现。好处是给了使用者替换和嵌入的机会。对设计库人还是很有用的。毕竟写lib的人永远无法估计其他人希望怎么用。
坏处是使code平白无故长了很多。要让程序员每个class都建一个factory估计很难。同上如果用程序来产生code。是不是应该自动的给每个class一个factory使使用者有更多的自由来改变程序?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表