學習過程反思
本篇反思總結了一般的學習過程。掌握學習的方法,可以讓你更高效地進行學習。這對于天天要學新技術的IT人員來說,是非常重要的。
本文反思了自己學習WPF過程中出現的一些問題,然后對以后學習的方法進行了重新設計。
本文的主要內容:
- 與學習相關的哲學思想
原來的學習方案設計
工具的反思
沒學好的原因
新的方案
相關哲學理論
我之前的文章中,有一些最基本的哲學思想和最抽象的學習過程,見:《方法》。這些基本理論中,與學習過程直接相關的是:
系統論:學習的過程中,切不可一葉障目,要系統、全面地認識你所要學習的東西。
普遍規(guī)律與特殊規(guī)律相結合:要理解所學事物的特殊性、它的設計理念、與其它同類的異同。
主次分明:所學事物主要解決什么問題,主要的設計理念,主要的解決方法。
透過現象看本質:透過各種實例看到內部的結構、設計原則、設計理念、抽象思維,思考這個事物出現的原因。
認識論:理論要和實踐相結合,學習才能事半功倍。這一點在IT技術的學習上,表現得尤為明顯。學習是一個迭代的過程,不可能“一口吃成一個胖子”,要“循環(huán)往復,螺旋上升”。
量變引起質變:學習是一個持續(xù)的過程,平時的一點一滴、對細節(jié)的研究,才能做到“深入了解”該事物。
學而不思則罔,思而不學則殆。
三省吾身。
關于學習過程,網上有很多相關的文章,有興趣的可以看看:
《什么是學習過程》
《學習方法概述-學習過程》
《學習過程的分析》
原來的框架學習方案
之前寫過一篇《如何學習框架》,里面設計了如何學習一個框架。在學WPF的過程中,在看MSDN的同時,也在不斷地總結框架學習方法:
現在看來,還是有一些缺陷:
- 幫助文檔太細,許多內容重復出現,不適合作為教材。
- 由于學習過程是一個持續(xù)不斷的過程,所以沒有必要設計時間占用百分比。
- 學習過程沒有必要分為輕量/重量兩種方案。
- 和實踐的結合還是太少!
學習工具的反思
其實之前已經聽說過MS Expression的名字,知道專業(yè)的WPF界面都是用這個設計器做出來的。但是一直沒有去用,主要有幾點原因:
- 原來學習ASP.NET的經驗告訴我,要精通此類“Markup+Code”的編程模式,“只有自己動手寫Markup,而不是用設計器生成,才能學得更深”。但是這一個方案在WPF學習的時候并沒有發(fā)揮多大的作用。WPF的界面元素和代碼編寫較難,導致以直接學習Markup的方式學習時,障礙重重,寸步難行。這種看不起拖拽控件的方式,違反了“由淺入深”的原則。
- 未了解工具的實際情況。當時感覺在Visual Studio這個集成的開發(fā)環(huán)境中,也集成了WPF的界面設計器。而我一直覺得VS功能非常強大,想當然地,覺得集成的設計器應該也很不會弱,不需要再使用其它的工具。在這種情況下,也就一直都沒有安裝MS Expression。
- 懶得去用。雖然VS一直是積極主動地使用最新版本,但是卻一直懶得去使用一些其它的新軟件,今天更新一下,明天更新一下,煩都煩死。嘿嘿。:)
但是其實使用新的工具只會在開始時多花一些時間,等到熟練以后,使用它可以為自己節(jié)省出更多的時間,這個適應過程還是值得的。
走到前不久,偶然間試用了一下MS Expression Blend 4,發(fā)現在上面設計界面非常直接、易用,和VS自帶的設計器完全不一樣,這個設計器是為專業(yè)的設計人員開發(fā)的。難怪自己一直都很難做出絢麗的界面!
反思
沒有學精WPF的原因:
- 沒有向高人請教。
- 沒有由淺入深。
- 沒有嘗試使用界面設計工具。懶得去用。
- 和實踐結合過少/沒有系統的實踐。之前學習WPF的時候,花了大量的時間在系統的學習上,但是系統的實踐卻很少。一是因為現在做的項目中的界面都是自動生成的,沒機會應用學到的理論;二是每一個小節(jié)后做一些零散的練習,并不系統,沒有把這些零散的點結合在一起。
新的方法
新的學習方法中,對上述問題都進行了考慮。大致分兩個階段進行學習,同時,引入較多的實踐環(huán)節(jié)(實踐的量的問題可以現斟酌,如果不是學習IT技術,可以考慮減少一些。)。如下圖:
圖中,考慮到了總結對于學習的重要性。另外,在挑選《快速版本》和《完整版本》的系統知識“書籍”時,應該多聽聽專家的意見。
總體上來說,整個框架的體系架構、內部的各子系統的設計,還是比較復雜的。在學習整個框架時,參考以下建議:
- 分主次、目標導向:需要分清主次、先后順序進行學習。(如果全部細致地學習,最后會發(fā)現,只有少部分知識是平時會使用到的。)
- 由表及里:先學習如何基于框架進行開發(fā),并盡量多開發(fā)幾個示例模塊,熟悉后,再學習框架。
- 先總后分:先大致了解整個架構思想、分層,以及組成部分。再做出框架各組成部分的學習計劃,逐個擊破。
- UML圖:這個環(huán)節(jié)相當重要,過程中應該一邊了解類結構,一邊繪制相應的類圖,并可能需要繪制相應的時序圖。
- 忘記細節(jié):一些開發(fā)人員在學習內部代碼時,總是會提出某段代碼寫得不好,某段代碼性能太差。這往往使得他對于框架本身的設計把握不到位。例如某段代碼的性能不好,這種細節(jié)的問題,可以在性能問題體現出來時,再進行優(yōu)化。
尾聲
學習各種框架是開發(fā)人員學習過程不可缺少的一項任務。如何能高效地學習,直接影響了技術儲備量。
本文中對我個人出現的問題進行了一些反思,也畫了新的學習方案。希望各位園友可以分享一下自己的框架學習經驗,也希望能為我指正圖中的不足之處,萬分感謝。 :)

浙公網安備 33010602011771號