任务驱动,对比式学习.NET开发系列之开篇------开源2个小框架(一个Winform框架,一个Web框架)

一 源码位置

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个小框架,自行学习相关的知识。

作者:宋波
出处:http://www.cnblogs.com/ice-river/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
原文地址:https://www.cnblogs.com/ice-river/p/3519211.html