一 .NET平台技术体系梳理javascript
.NET平台应用领域众多(桌面开发,web开发,移动开发),不断有新的编程爱好者开始学习或从其余平台转移到.NET开发平台。.NET开发平台由微软2000年提出,到今天已经进入到了第14个年头,新技术,新框架层出不穷,应接不暇。本文第一个目的是想揭示下.NET平台一路走来的发展脉络,以飨众多刚刚进入该领域的开发者。php
咱们总结的泛.NET平台技术圈的知识范畴以下图所示:css
二 初学者学习路径建议html
由上图可见,.NET平台技术繁多,从头学起需按部就班。结合本身的学习经验,斗胆给出一份初学者的学习建议。前端
1.任何一门技术都应该从基础学起,因此首先我建议你们首先学习上图c#基础中的相关主题;这里须要指出的是上图C#基础中描述的相关主题虽然被放在了c#基础当中,可是不表明是最简单的技术,有些专题要比后面的一些专题好比WinForm编程中的控件编程要复杂得多。java
2.WinForm编程(包括窗体控件使用,GDI,ADO.NET),建议同时学习一下数据库查询和设计理论,边学边作一个c/s结构的小型管理信息系统,这样的源码网上处处都是。jquery
3.B/S结构信息系统开发(企业内部信息系统)的开发,主要使用WebForm技术。web开发技术涉及到的知识浩瀚无边,前端,后端,数据库端,每个方面都有不少的内容须要学习。掌握WinForm后,学习WebForm,学习的路径不至于太陡峭,由于微软封装了前端的细节,使得WebForm的开发感受和WinForm相似,可是仍是有所不一样的。经过WebForm的学习,你能够了解些PC程序开发中没有接触到的概念,好比表单的Post和Get,HTTP协议的无状态特色,Cookie和Session的用法等等。一样能够边学边作一个b/s结构的小型管理信息系统,这样的源码网上也很多。linux
4.最后就能够挑战下B/S结构网站开发(互联网应用)了。这时将面对其余语言程序员最开始web开放时一样的挑战,掌握html/js/css/jquery等前端开发技术,ASP.NET MVC这样的后台技术,固然数据库设计和查询能力也是必不可少的。程序员
固然,以上推荐的学习路径须要因人而异,这里假设你是一个软件开发的初学者;若是你是从java/php/ruby/phthon等其余web开发平台转过来的开发者,则你能够略过(2,3)步,只须要掌握下C#的基础知识和ASP.NET MVC的相关知识便可。web
三 各阶段相关优秀书籍推荐
不知道你们是否遇到过这种状况,学习一门热门的新技术,到书店去买书,发现相关主题的书籍琳琅满目;因为初涉该领域,你们在选择图书的时候很差判断,主要问题归结为如下2点:
(1)书籍撰写质量稂莠不齐,很难筛选(一般难以辨别时,首选国外译做);
(2)因为对该领域技术体系不了解,选择了高级阶段的图书(本应该选择入门级好书),缺少该技术的先期知识,致使阅读很吃力。
基于以上2点,向你们推荐如下几本好书,首先Show一下本身的书架:
这里给你们推荐三本书,首先这3本书涉及的技术分别是sql查询,javascript,css。这3种技术和咱们以前的c#或java开发的已有经验不太同样,因此学习初期可能感受不太适应,好比javascript的弱类型,函数式编程特性;sql查询中没有循环的概念,如何获取咱们想要统计的结果;css这种格式化html内容的语言。三本好书以下:
1.园子里Tom大叔的译著《javascript编程精解》
2.sql cookbook中文版
3.css实战手册
正是看了这3本书,才基本掌握这3种技术的(每本书以前都看了相同专题的好几本其余书籍,都没学会)。
四 学习软件开发的最有效方式---笔者的一点拙见
在近10年的开发道路中,有2次我的感受提高最大的时刻。第一次是跳槽进入第二家公司,在公司里遇到了一位经验丰富的开发主管。从第一家公司离职的缘由是,虽对于公司的代码,能够作到很好的维护,但是当时感受我的不具有解决问题的能力,遇到一个稍微复杂点的功能需求,老是要靠百度,谷歌。看了不少linux的源代码,很是想知道其中的各个数据结构最初是如何设计出来的(国外的这些大牛们最初是如何思考的),为了寻找这些答案,毅然离开了第一家公司,进入到前面所说的第二家公司。在这家公司,由一个经验丰富的开发主管带着,以极限编程中提出的结对编程的方式一块儿工做了一小段时间。在这段期间内,跟着这位师傅学到了业务需求决定了类成员及其关系的设计,泛型集合类的强大处理能力等相关开发思想。第二次提高是本身从C++平台转向.NET平台,也是一段时间,看着一位经验丰富的开发人员在本身面前编程。此次所用时间更短,在1天以内熟悉了.NET平台开发环境。
我的体会,对于初学者来讲,若是有机会在一个比你水平高的开发人员旁边学习一段时间,而这位师傅能在边向你展现各类编译器,编辑器,代码生成器,高效开发调试工具使用技巧的同时,有能向你讲解他解决问题的思路,那么你的提高将会是巨大的。而在现实工做中,这种机会并非很容易碰到。由于若是是在学校中,通常难以遇到这样的有经验的开发人员;在工做中,老板付钱让你干活,不多提供你学习的机会。
五 咱们的愿景与目标
上述想法,多年前就已经有所体会,心中一直有个计划想实施,即将本身多年的开发经验,录制成视频,分享给全部有须要的,新加入软件开发行列的新人们。半年以前,曾尝试如此去作,可是视频录制的过程当中遇到一些问题。虽然录制视频,台下没有观众,可是自觉不自觉的会想到此视频届时会有不少人进行观看。以至录制的过程比较紧张,中间有卡壳发生,加上本身又比较追求完美,致使一份视频录制屡次仍旧不十分满意。一份视频屡次重复录制是一件十分恼人的事,最终没有坚持下来。近半年,一次偶然的机会,得以在国内某大型培训机构,兼职讲述C/C++,MFC等开发知识,授课能力获得了锻炼,终于万事具有,因而才有了.NET平台软件开发培训视频教程的第一个系列《手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统》的出炉。你们对视频的确定也加强了本身坚持下去的信心。有一个蚍蜉撼树的计划,即便用4-6个月的时间陆续推出前面[泛.NET平台技术圈]中说起的各阶段开发的视频教程。
大纲初步制定以下:
1.c#基础系列(采起专题的方式)
2.WinForm开发系列
(1)经过项目中总结的一个开源框架讲述各种WinForm控件的用法,同时再开发若干个综合实例;
(2)经过一个打砖块和一个飞机大战的小游戏,系统讲解下GDI编程的相关理论
(3)经过一个c/s结构小型的管理信息系统讲述ADO.NET,ORM知识
3.数据库设计和查询系列
(1)经过一个开源系统界面操做和数据库设计,讲解界面(需求)背后的数据库设计原理;
(2)经过2个基础表,展现数据库查询相关领域的方方面面的知识。
4.ASP.NET WebForm系列(目前进行中)
5.前端系列
(1)html+css2系列(计划经过剖析某个博客园的博客模板设计的方式,系统讲解css2中的重点知识
(2)javascript系列
(3)jquery系列
6.ASP.NET MVC系列
经过Step by Step的方式,经过一个系列视频,讲述一个网站从无到有,从小到大的实现过程,中间穿插介绍ASP.NET MVC各个方面的相关知识。
六 Step by Step的讲述方式
一直以来,学习某项新技术,很是喜欢相似这种一步一步教你开发飞机大战的讲述方式,故此将来的系列视频争取均采起该种方式进行讲解,这样能够帮助初学者详细的了解到一门技术的各方面的相关细节,包括语言语法,解决问题的思惟方法,开发环境的搭建,各类库的引入调用方式,调试程序的方法,编译器的使用技巧(各类快捷操做等等)。
七 录制免费视频教程的目的
(1)从公益角度讲,能够帮助不少的相关知识入门者,赠人玫瑰 手留余香。
(2)马斯洛的需求层次中提到的自我实现须要。
(3)从私心来说,扩大知名度。
(4)沟通的须要,被承认的须要。每完成一篇随笔,点击提交,而后点一支烟,坐等推荐和评论的感受,妙趣横生。
若是您感受本文不错,对您有所帮助,请您不吝点击下右边的推荐按钮,谢谢!