工作如何提高自己对设计模式,数据结构,算法的掌控?

OutMicro 2018-05-01 11:28:50
项目中用到的技术比较浅,比较杂,想在业余时间提升下自己。


尤其是设计模式,数据结构和算法部分,有几个选择:

1.阅读spring源码
2.阅读针对某个方向的优秀框架源码。
3.参与一个开源的雏形项目。
4.造一个小轮子。

如果从长远考虑,哪个方案收益会高一点。
...全文
919 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2018-05-02
  • 打赏
  • 举报
回复
个人觉得多管齐下才有效 不说算法,这个跟具体工作内容强相关 数据结构和设计模式,首先要有概念,什么场景下用什么数据结构和设计模式,然后在自己写个demo熟悉下,最后在工作中,首先思考做的功能能套用什么设计模式,一步一步来 所以读源码可能并非必须,但也能见识别人的用法,为什么这么用 造轮子这个时间太长,你会花费很多时间在一些不重要的细节上,或许可以阅读别人造轮子的教程,比如how tomcat works,个人认为很棒的造轮子的过程,还有源码 参与开源项目还不如自己做开源项目,并不需要多高大上,你自己写的小工具都行,当然时间充裕倒是随便 提升技能是一个缓慢的过程,需要足够的耐心和平常心,一点一点积累才是常态,顿悟也是在积累的基础上,不要过多给自己设置目标,佛系一点也不错
  • 打赏
  • 举报
回复
各有优缺点,都要得 1.阅读spring源码 2.阅读针对某个方向的优秀框架源码。 其实意义有限,你知道一个软件怎么设计,你能知道它为什么要这么设计?如何得到这个结果?如何利用设计原理? 3.参与一个开源的雏形项目。 恐怕机会很少,另外你的同事是真的高手?能有效帮你? 4.造一个小轮子。 实践中能发现设计方面的一些问题,甚至一些非常严重的问题。一些好像很好的设计方法,其实问题很多,甚至非常可疑,能用于设计(比如设计模式,作者都承认那根本不是一种用于设计的新方法新思路,你把它用于软件的整体设计,是否搞笑?) 对于设计 真的提高自己,好好看 欧美优秀博士论文库中的 ,关于面向对象,mvc的论文,你会发现国人基本都不懂面向对象和mvc技术 关于数据结构 我看算了 ,看看数据结构中 树栈队列,后面的查找基本就够了。实际上 对于一些特定领域,如图形有自己特定的数据结构(如半边),用的时候再说 关于算法 到外国读研究生

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧