📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
12
返回列表 发新帖
楼主: ChristinaT
跳转到指定楼层
上一主题 下一主题
收起左侧

请问Design Pattern在实际工作中重要吗?

🔗
gjomhkb 2021-5-14 09:39:10 | 只看该作者
全局:
Design Pattern我们学校有这门课
回复

使用道具 举报

🔗
TB2020 2021-5-14 09:51:05 | 只看该作者
全局:
ChristinaT 发表于 2021-5-14 08:20
感谢解释,那请问系统设计在工作中的重要性呢?如果都很重要,我很奇怪为啥学校从来不教授这些课程...

学校里面教lc刷题么?教系统设计么?教如何写测试用例么?教如何trouble shooting么?教性能调优么?
说白了学校里面是教基础理论为主,比如教你有哪些基本数据结构,基本算法,但是不教你如何更合理的运用这些东西。
系统设计,设计模式属于工程类的东西,它不算任何基础理论,而是更多的是最佳实践,学校里面基本不教最佳实践的,而实际工作中基础理论可能都感觉基本没有用,实际不是没有用,是感觉不到有用,都已经被封装好了,或者包含在最佳实践中了。
回复

使用道具 举报

🔗
ourgit 2021-5-14 10:17:14 | 只看该作者
全局:
非常重要,算法,设计模式都是基本功。
回复

使用道具 举报

🔗
 楼主| ChristinaT 2021-5-14 14:48:52 | 只看该作者
全局:
TB2020 发表于 2021-5-14 09:51
学校里面教lc刷题么?教系统设计么?教如何写测试用例么?教如何trouble shooting么?教性能调优么?
说 ...

了解了!请问您 工作前有什么东西可以通过上什么样的课来补充吗?
回复

使用道具 举报

全局:
zea7ot 发表于 2021-05-13 17:22:25
很重要。
很多Cloud Design Pattern就是基于这些基础的Design Pattern。
哈哈哈面条代码还行
回复

使用道具 举报

🔗
tonyele11 2021-5-15 01:10:26 | 只看该作者
全局:
对于快速完成一项短期或者一次性任务来说不重要,但是对以后的扩展和代码维护是非常有用的

评分

参与人数 1大米 +1 收起 理由
ChristinaT + 1 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分

回复

使用道具 举报

🔗
VEsslZ 2021-6-11 05:44:55 | 只看该作者
全局:
ChristinaT 发表于 2021-5-14 08:20
感谢解释,那请问系统设计在工作中的重要性呢?如果都很重要,我很奇怪为啥学校从来不教授这些课程...

系统设计还是很重要的,其实大学里也有教过类似的课程,但是缺乏实际生产经验,你可能并不会把他联系成系统设计。我想到当时我上大学的时候一门分布式系统我就上的稀里糊涂的,但是现在回过头来看,他里面很多的思想的就是系统设计相关的。
回复

使用道具 举报

🔗
wilbur_zzz 2021-6-11 06:49:45 | 只看该作者
本楼:
全局:
非常重要
回复

使用道具 举报

🔗
riotamago 2021-6-11 09:36:07 | 只看该作者
全局:
首先我认为设计模式本身不是绝对的知识,更多是前人总结的面对特定问题的最佳解决方案。对比之下OOP的很多概念比如 overload 虽然也可以归结为最佳解决方案,但很多编程语言是有对应的语言特性进行支持的。正是因为设计模式基于经验主义的本质,学习设计模式时我们往往首先要去思考它具体解决了什么问题。

这些问题很多时候是我们在大学或研究生学习过程中难以遇到的(例:https://refactoringguru.cn/design-patterns/bridge)哪怕对于有工作经验的人来说也不一定会遇到类似的问题,所以直接快进到学习面对这种问题的最佳实践是有点空中楼阁的。我上面的链接的网站是我目前看到讲解设计模式最通俗易懂的了,但很多时候他依然只能举一些简单的,脱离实际的例子。因为只有你真正在复杂的环境下遇到了对应的问题,或者看到了没有遵循设计模式的垃圾代码,才会理解并赞叹设计模式的精妙。

综上所述,由于解决问题的scope不同,不同设计模式的重要性也不同。有一些设计模式会解决一些比较常见的问题,比如工厂模式,抽象工厂模式等。还有一些设计模式解决的是比较特定的问题,比如享元模式。我认为只熟练掌握比较频繁出现的设计模式性价比是最高的。同时,很多人学习设计模式有点类似国内java八股面试的感觉,我认为这也是舍近求远的。哪怕我们的经验局限导致没有特别好对应每种设计模式的例子,依然应该尽量从现实问题出发,想象一下遇到类似问题如果没有设计模式我会怎么做,再看看这个设计模式选择怎么做,可能会理解的更深入一些。

最后推荐一些遵循我上述思路的比较好的资源:
https://refactoringguru.cn/
https://www.runoob.com/design-pa ... ttern-tutorial.html
https://www.youtube.com/watch?v= ... ARdnO4ueTUAVR9eMBpc

评分

参与人数 1大米 +1 收起 理由
ChristinaT + 1 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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