一 源碼位置
1. Winform框架
2. web框架
二 高效學習編程的辦法
1 任務驅動方式學習軟件開發
大部分人學習軟件開發技術是通過看書,看視頻,聽老師上課的方式。這些方式有一個共同點即按知識點進行講解。比如拿c#編程為例,首先是講解大量的基礎概念,如類和對象,繼承多態,事件委托,泛型接口等等。這種學習方法的一個弊端是學習了大量的知識點,但是不知如何運用。
換一個角度,采用任務驅動的模式,提供一些從易到難的編程任務,一個個進行攻克,給出任務的同時,列出解決該任務需要掌握的知識,通過簡單介紹這些知識和學習者自己百度google的方式,讓學習者自己通過努力完成任務,任務過程中提供簡單的答疑(只提供思路)。編程任務需要精心設計(如身份證解析,統計文章中出現單詞個數,猜單詞游戲,飛機大戰游戲,通訊錄管理系統等等)。
2 對比式,相互啟發式學習
比如可以采取同一個編程任務,分別實現一個pc版及一個web版的方式,通過比較2種版本不同的實現方式,對照着進行學習。既可以體會到pc端軟件開發和web軟件開發的不同之處,又能從比較高的角度體會到編程的共通點。
pc開發經驗多的學習者可以快速掌握web開發方法,web開發經驗的多學習者可以快速掌握pc開發方法。
三 WinForm小框架
采用Winform+WeifenLuo.WinFormsUI.Docking.dll技術。截圖如下:
使用Winform框架新增一個窗體的步驟:
1.新增一個窗體,窗體的Text屬性假設為[主頁],窗體的名字假設為Frm_Home
2. 修改該窗體繼承的基類Form->DockContent,並添加引用using WeifenLuo.WinFormsUI.Docking;
3. Frm_Main中InitFormText2FormTypeNameDic函數中,添加 一句dicWinformBase.Add("主頁", "CSharpGoWinForm.Frm_Home");
注意這里字典的Key要和第一步中窗體的Text屬性一樣,這里字典的Value要和第一步中窗體的名字屬性一樣,並且前面需要加上命名空間.(CSharpGoWinForm.Frm_Home)
四 Web小框架
采用Jquery EasyUI + zTree + Bootstrap技術。截圖如下:
使用Web框架新增一個窗體的步驟:
1.新增一個aspx文件,假設叫StringJoinAndSplit.aspx
2.在Default.aspx的js代碼段var zNodes =...部分,新增
{
name: "字符串合並與分解",
file: "StringJoinAndSplit.aspx"
}
五 你可以用這2個小框架做什么
1.累積自己做的一些小實驗,便於以后檢索;
2.收集別人的一些開源小類庫代碼;
六 我打算用這2個小框架做什么
設計一個個由簡到難的編程任務(來自於真實項目實踐),分別提供web版和pc版的實現,達到.NET開發知識學習的目的,做為接下來系列隨筆的基礎。
提供的2個框架都比較簡單,不會對這2個框架的實現原理進行詳細解釋,希望有心者自己去摸索。
winform框架主要用到了點反射技術,樹形控件,字典應用;
web框架用到了點jquery easyui, zTree, BootStrap;
初學者可以選擇自己的學習方向,跟着這2個小框架,自行學習相關的知識。