首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习过程反思

学习过程反思

作者头像
用户1172223
发布2018-01-30 11:25:33
6020
发布2018-01-30 11:25:33
举报
文章被收录于专栏:哲学驱动设计哲学驱动设计

    本篇反思总结了一般的学习过程。掌握学习的方法,可以让你更高效地进行学习。这对于天天要学新技术的IT人员来说,是非常重要的。

    本文反思了自己学习WPF过程中出现的一些问题,然后对以后学习的方法进行了重新设计。

    本文的主要内容:

  • 与学习相关的哲学思想 原来的学习方案设计 工具的反思 没学好的原因 新的方案

相关哲学理论

    我之前的文章中,有一些最基本的哲学思想和最抽象的学习过程,见:《方法》。这些基本理论中,与学习过程直接相关的是: 系统论:学习的过程中,切不可一叶障目,要系统、全面地认识你所要学习的东西。

普遍规律与特殊规律相结合:要理解所学事物的特殊性、它的设计理念、与其它同类的异同。

主次分明:所学事物主要解决什么问题,主要的设计理念,主要的解决方法。

透过现象看本质:透过各种实例看到内部的结构、设计原则、设计理念、抽象思维,思考这个事物出现的原因。

认识论:理论要和实践相结合,学习才能事半功倍。这一点在IT技术的学习上,表现得尤为明显。学习是一个迭代的过程,不可能“一口吃成一个胖子”,要“循环往复,螺旋上升”。

量变引起质变:学习是一个持续的过程,平时的一点一滴、对细节的研究,才能做到“深入了解”该事物。

学而不思则罔,思而不学则殆

三省吾身。

    关于学习过程,网上有很多相关的文章,有兴趣的可以看看:

什么是学习过程

原来的框架学习方案

    之前写过一篇《如何学习框架》,里面设计了如何学习一个框架。在学WPF的过程中,在看MSDN的同时,也在不断地总结框架学习方法:

image
image

    现在看来,还是有一些缺陷

  1. 帮助文档太细,许多内容重复出现,不适合作为教材。
  2. 由于学习过程是一个持续不断的过程,所以没有必要设计时间占用百分比。
  3. 学习过程没有必要分为轻量/重量两种方案。
  4. 和实践的结合还是太少!

学习工具的反思

    其实之前已经听说过MS Expression的名字,知道专业的WPF界面都是用这个设计器做出来的。但是一直没有去用,主要有几点原因:

  1. 原来学习ASP.NET的经验告诉我,要精通此类“Markup+Code”的编程模式,“只有自己动手写Markup,而不是用设计器生成,才能学得更深”。但是这一个方案在WPF学习的时候并没有发挥多大的作用。WPF的界面元素和代码编写较难,导致以直接学习Markup的方式学习时,障碍重重,寸步难行。这种看不起拖拽控件的方式,违反了“由浅入深”的原则
  2. 未了解工具的实际情况。当时感觉在Visual Studio这个集成的开发环境中,也集成了WPF的界面设计器。而我一直觉得VS功能非常强大,想当然地,觉得集成的设计器应该也很不会弱,不需要再使用其它的工具。在这种情况下,也就一直都没有安装MS Expression。
  3. 懒得去用。虽然VS一直是积极主动地使用最新版本,但是却一直懒得去使用一些其它的新软件,今天更新一下,明天更新一下,烦都烦死。嘿嘿。:) 但是其实使用新的工具只会在开始时多花一些时间,等到熟练以后,使用它可以为自己节省出更多的时间,这个适应过程还是值得的。

    走到前不久,偶然间试用了一下MS Expression Blend 4,发现在上面设计界面非常直接、易用,和VS自带的设计器完全不一样,这个设计器是为专业的设计人员开发的。难怪自己一直都很难做出绚丽的界面!

反思

    没有学精WPF的原因:

  1. 没有向高人请教。
  2. 没有由浅入深
  3. 没有尝试使用界面设计工具。懒得去用。
  4. 和实践结合过少/没有系统的实践。之前学习WPF的时候,花了大量的时间在系统的学习上,但是系统的实践却很少。一是因为现在做的项目中的界面都是自动生成的,没机会应用学到的理论;二是每一个小节后做一些零散的练习,并不系统,没有把这些零散的点结合在一起。

新的方法

    新的学习方法中,对上述问题都进行了考虑。大致分两个阶段进行学习,同时,引入较多的实践环节(实践的量的问题可以现斟酌,如果不是学习IT技术,可以考虑减少一些。)。如下图:

image
image

    图中,考虑到了总结对于学习的重要性。另外,在挑选《快速版本》和《完整版本》的系统知识“书籍”时,应该多听听专家的意见。

    总体上来说,整个框架的体系架构、内部的各子系统的设计,还是比较复杂的。在学习整个框架时,参考以下建议

  • 分主次、目标导向:需要分清主次、先后顺序进行学习。(如果全部细致地学习,最后会发现,只有少部分知识是平时会使用到的。)
  • 由表及里:先学习如何基于框架进行开发,并尽量多开发几个示例模块,熟悉后,再学习框架。
  • 先总后分:先大致了解整个架构思想、分层,以及组成部分。再做出框架各组成部分的学习计划,逐个击破。
  • UML图:这个环节相当重要,过程中应该一边了解类结构,一边绘制相应的类图,并可能需要绘制相应的时序图。
  • 忘记细节:一些开发人员在学习内部代码时,总是会提出某段代码写得不好,某段代码性能太差。这往往使得他对于框架本身的设计把握不到位。例如某段代码的性能不好,这种细节的问题,可以在性能问题体现出来时,再进行优化。

尾声

    学习各种框架是开发人员学习过程不可缺少的一项任务。如何能高效地学习,直接影响了技术储备量。

    本文中对我个人出现的问题进行了一些反思,也画了新的学习方案。希望各位园友可以分享一下自己的框架学习经验,也希望能为我指正图中的不足之处,万分感谢。 :)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-11-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档