.NET平台技术体系
.NET平台技术体系梳理+初学者学习路径推荐+我们的愿景与目标
一 .NET平台技术体系梳理
.NET平台应用领域众多(桌面开发,web开发,移动开发),不断有新的编程爱好者开始学习或从其他平台转移到.NET开发平台。.NET开发平台由微软2000年提出,到今天已经进入到了第14个年头,新技术,新框架层出不穷,目不暇接。本文第一个目的是想揭示下.NET平台一路走来的发展脉络,以飨众多刚刚进入该领域的开发者。
我们总结的泛.NET平台技术圈的知识范畴如下图所示:
二 初学者学习路径建议
由上图可见,.NET平台技术繁多,从头学起需循序渐进。结合自己的学习经验,斗胆给出一份初学者的学习建议。
1.任何一门技术都应该从基础学起,所以首先我建议大家首先学习上图c#基础中的相关主题;这里需要指出的是上图C#基础中描述的相关主题虽然被放在了c#基础当中,但是不代表是最简单的技术,有些专题要比后面的一些专题比如WinForm编程中的控件编程要复杂得多。
2.WinForm编程(包括窗体控件使用,GDI,ADO.NET),建议同时学习一下数据库查询和设计理论,边学边做一个c/s结构的小型管理信息系统,这样的源码网上到处都是。
3.B/S结构信息系统开发(企业内部信息系统)的开发,主要使用WebForm技术。web开发技术涉及到的知识浩瀚无边,前端,后端,数据库端,每一个方面都有很多的内容需要学习。掌握WinForm后,学习WebForm,学习的路径不至于太陡峭,因为微软封装了前端的细节,使得WebForm的开发感觉和WinForm类似,但是还是有所不同的。通过WebForm的学习,你可以了解些PC程序开发中没有接触到的概念,比如表单的Post和Get,HTTP协议的无状态特点,Cookie和Session的用法等等。同样可以边学边做一个b/s结构的小型管理信息系统,这样的源码网上也不少。
4.最后就可以挑战下B/S结构网站开发(互联网应用)了。这时将面对其他语言程序员最开始web开放时同样的挑战,掌握html/js/css/jquery等前端开发技术,ASP.NET MVC这样的后台技术,当然数据库设计和查询能力也是必不可少的。
当然,以上推荐的学习路径需要因人而异,这里假设你是一个软件开发的初学者;如果你是从java/php/ruby/phthon等其他web开发平台转过来的开发者,则你可以略过(2,3)步,只需要掌握下C#的基础知识和ASP.NET MVC的相关知识即可。
三 各阶段相关优秀书籍推荐
不知道大家是否遇到过这种情况,学习一门热门的新技术,到书店去买书,发现相关主题的书籍琳琅满目;由于初涉该领域,大家在选择图书的时候不好判断,主要问题归结为以下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)沟通的需要,被认可的需要。每完成一篇随笔,点击提交,然后点一支烟,坐等推荐和评论的感觉,妙不可言。
.NET平台技术体系的更多相关文章
- .NET平台技术体系梳理+初学者学习路径推荐+我们的愿景与目标
文章出自:http://www.cnblogs.com/ice-river/p/3475041.html 一 .NET平台技术体系梳理 .NET平台应用领域众多(桌面开发,web开发,移动开发),不断 ...
- java EE技术体系——CLF平台API开发注意事项(4)——API生命周期治理简单说明
文档说明 截止日期:20170905,作者:何红霞,联系方式:QQ1028335395.邮箱:hehongxia626@163.com 综述 有幸加入到javaEE技术体系的研究与开发,也得益于大家的 ...
- java EE技术体系——CLF平台API开发注意事项(1)——后端开发
前言:这是一篇帮助小伙伴在本次项目中快速进入到java EE开发的一些说明,为了让同组小伙伴们开发的时候,有个清晰点的思路.昨天给大家演示分享了基本概况,但没有留下文字总结说明,预防后期有人再次问我, ...
- [转] EJB 3和Spring技术体系比较
最近在学习EJB 3,对于SSH与EJB3,一直不太明白“即生瑜,何生亮?”,今天无意看到一篇旧文,比较系统的对比了这二种技术架构,转载于此: 原文出处:http://www.51cto.com/sp ...
- C#入门教程(一)–.Net平台技术介绍、C#语言及开发工具介绍-打造C#学习教程
一.什么是.Net平台? .Net平台是微软搭建的技术平台,技术人员在此平台上进行应用的搭建与开发.它提供了运行所必须的环境.NET Framework类库以及CLR(公共语言运行时).好比我们人类的 ...
- 时序数据库技术体系 – InfluxDB 多维查询之倒排索引
本文转自: http://hbasefly.com/2018/02/09/timeseries-database-5/ 在时序数据库概述一文中,笔者提到时序数据库的基础技术栈主要包括高吞吐写入实现.数 ...
- JVM_总结_02_Java技术体系
一.前言 此系列随笔是针对<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>的总结 上一节,我们搭建好了java的开发环境,这一节,我们来看Java的技术体系 二.Java技术体 ...
- 简要概括java技术体系
以前一直在学java程序设计语言,学完了就以为自己已经把java学得差不多了,直到最近在看一本书<深入理解java虚拟机>,才发现自己以前学的只不过是冰山一角.相信很多小伙伴跟我一样,在没 ...
- 解密国内BAT等大厂前端技术体系-阿里篇(长文建议收藏)
进入2019年,大前端技术生态似乎进入到了一个相对稳定的环境,React在2013年发布至今已经6年时间了,Vue 1.0在2015年发布,至今也有4年时间了. 整个业界在前端框架不断迭代中,也寻找到 ...
随机推荐
- 1006-HBase操作实战(JAVA API状态)
一.准备阶段 开发环境: hadoop: hadoop -2.4.0 hbase: hbase -0.94.11-security eclipse:Juno Service Release 2 二.创 ...
- 《代码的第一行——Android》封面诞生
<代码的第一行--Android>已经上市近一个月,现在的情况是相当不错的销售,也特别感谢众多朋友的支持. 其实一本好书,假设你想卖.除了给予外力所要求的内容.封面设计是至关重要的,这本书 ...
- Matlab splinetx
function v = splinetx(x,y,u) %SPLINETX Textbook spline function. % v = splinetx(x,y,u) finds the pie ...
- java_前端_autocomplete_搜索框自动匹配提示
效果图: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> < ...
- ArcGIS网络分析之Silverlight客户端路径分析(三)
原文:ArcGIS网络分析之Silverlight客户端路径分析(三) 首先贴上最终的效果图: a.路径查询 2.最近设施点查询 3.服务区分析 说明: 1.以上的示例使用的数据是随意在ArcMap中 ...
- 软件开发V型号
RAD(rap application development),就是软件开发过程中的一个重要模型,称为高速应用开发模型.其模型构图形似字母V,所以又称V模型. 他通过开发和測试同一时候进行 ...
- 【百度地图API】百度API卫星图使用方法和卫星图对比工具
原文:[百度地图API]百度API卫星图使用方法和卫星图对比工具 百度地图API推出卫星图接口也有一个月啦~ 本文除了介绍如何使用百度地图API来操作卫星图外,还顺带制作了个卫星图对比工具. 一.百度 ...
- 优秀的前端project如何制定一个老师--html学习路径
一个好的前端project教师发展,不是一蹴而就,它需要大量的学习和积累. 至于谁刚开始学习的人,如何入门.学习如何选择我的路线,做了各种工具? 1. 学习之前 1.不要着急看一些复杂网页效果的代码 ...
- Java初认识--Java语言的书写规范及基本的运算符
一.Java中名称的规范和书写程序的规范. 1.Java中的名称规范: (1)包名全是小写:xxyyzz: (2)类名接口名:首字母大写:XxxYyy: (3)变量名和函数名:变量名不能是关键字:多单 ...
- WebService使用JSON格式传递笔记+JQuery测试
原文WebService使用JSON格式传递笔记+JQuery测试 因为一些因素,必须改写WebService,很传统,但是很多公司还在用.. 因为XML 的关系,不想让他传递数据的时候过度肥大,所以 ...