从事软件开发工作5年后的总结
.NET是个很大、很宽、很广的概念。一个.NET,牵涉了太多的内容。这里我将结合自己的学习和工作经验,大致的介绍一下.NET技术究竟包括哪些内容,当然还包括了与.NET开发相关的其它技术。
一、.NET Framework版本
2000年6月,微软宣布了其.NET战略,推出了全新的.NET平台C#语言。.NET Framework从1.0开始,到2.0版本,这是一个里程碑。现在用的最多的就是2.0版本,也是.NET Framework的基石。后来又推出3.0到3.5到4.0再到现在的4.5。Visual Studio开发工具,也由VS2003到VS2005到VS2008到VS2010再到VS2012以及现在的VS2013。从底层框架到开发工具,可以看出微软.NET战略的实施过程。
二、不同领域的技术
不论做以下何种方向的开发,C#语言是必须掌握的,也是.NET开发的基础。当然.NET平台也支持很多其它的语言,比如C++和VB.NET。但是微软.NET平台主推的第一编程语言是C#。这个语言与Java语言很类似,是C/C++ —> JAVA —> C#(读CSharp,所以C#的类文件都是以cs为后缀名的,这点与其它语言一样,如JAVA的类文件后缀名就是java)这样的一个发展过程,因此这些语言都是一个系列的。语法上类似或很像也是可以理解的。当然C#的语法更像是多种编程语言的混合体。LinQ是一个非常重要的语法,也是.NET的一大创新。多线程、Sockets通信技术,将是区分技术的标志。
三、技术体系
1、核心技术
1).NET技术:WinForm、ASP.NET、ASP.NET MVC、LinQ、WPF(Windows呈现基础框架)、WCF(Windows通信基础框架,包含WebService、.NET Remoting、消息队列等所有通信技术)、WF(Windows Worklfow Foundation 工作流基础框架)、SilverLight(银光,类似于Flex)、SharePoint、Entity Framework(ORM)、ADO.NET、SQL Server(2000、2005、2008)、MSChart(图表控件)、Crystal Report(水晶报表)
2)第三方技术:Log4NET(Apache日志组件)、NHibernate(Java的hibernate的.NET实现ORM)、spring.NET(依赖注入、控制反转等,也是Java的spring框架的.NET实现)、NetChart和WebChart(第三方图表控件)、K2 Workflow (K2工作流)、Ext.NET(专用于.NET的界面库)
3)WEB技术:HTML5、CSS3、JavaScript、XML、JSON、DOM、DIV、AJAX以及jQuery(JQuery UI/JQuery Easy UI)、ExtJS等JS脚本库
4)Mobile技术:App应用开发和移动web开发。WP开发、JQuery Mobile(移动端js开发库)
2、数据库技术
1)Oracle、MS-SQL Server、MySQL、DB2、Access、SqLite、VFP等
2)SQL编程(游标)、存储过程(带参数、不带参数、复杂的、输入输出参数)、触发器(特殊的存储过程,自动触发)、事务、视图(物化视图)、计划任务(job)、序列、SQL多表海量数据查询优化等
3、中间件技术
IIS、GIS(ARCGIS、SuperMap)
4、其它工具及技术
Microsoft Office工具(Word、Excel、PPT、Project、Visio等)、Sybase PowerDesigner(数据库建模工具)、版本控制(CVS、SVN、VSS)、FTP(Server-U、Filezilla)、加密狗、WordToPDF
5、其它
计算机硬件修理(故障排除、数据恢复、硬盘修复)、网络故障排除(路由器、交换机)、各种设备的使用及设置(打印机、扫描仪、复印机,针式、喷墨、激光)、服务器、虚拟化、存储
四、理论知识(软件方向)
做软件开发必须要有理论知识的储备,并且要精通一些课程。理论知识不足,很难真正上升为高级工程师(操作与理论并举,能够真正的开发出具有创新意义的软件系统)的层次,最多也就是高级技师(操作精通,能有一些创新,但仅仅限于操作技术的创新)。
最核心的四门课:1)数据结构 2)操作系统 3)计算机组成原理 4)计算机网络
其它课程:数据库原理及应用、编译原理、C语言、汇编语言、软件工程、计算机英语、数学(离散数学、高等数学、线性代数、概率统计等)
五、发展路线
1、程序开发(1-2 years)
2、软件设计(2-5 years)
3、系统分析(5-10 years)
4、系统架构(5-10 years)
5、项目管理(5-10 years)
六、证书认证
1、行业认证:微软认证(MCSE、MCSD、MCITP、MCPD、MCM、MCA)
2、国家认证:软考(程序员、软件设计师、系统分析师、系统架构设计师、信息系统项目管理师)
3、教育认证:计算机等考(江苏省一二三级、国家一二三四级)
4、培训认证:北大青鸟ACCP(初级程序员、程序员、软件工程师)
相关文章
- 软件开发与PMP
- IT软件开发常用英语词汇
- JetBrains软件开发框架下的类似于“.IntelliJIdea2018.1”的配置文件夹的移动
- Atitit 最近十年来until2018软件开发领域的趋势 艾龙总结 attilax大盘点总结历史与趋势 1. Keyword sec title2 2. 语言本身:2 2.1. 工业标准2
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- atitit.软件开发--socket框架选型--netty vs mina j
- atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模
- atitit.提升开发效率---mda 软件开发方式的革命--(2)
- Atitit.软件开发提升稳定性总结
- 【华为云技术分享】从软件开发到 AI 领域工程师:模型训练篇
- 【华为云动态】华为云携手Google,IBM,SAP等多家知名企业加入CDF,助力软件开发生态发展
- 【自适应软件开发过程思想】自适应软件开发 - 简介 Adaptive Software Development Introduction(中英文)
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- 让你提前知道软件开发(24):C语言和主要特征的历史
- 什么是软件开发?
- C++软件开发值得推荐的十大高效软件分析工具
- 软件测试 -- 高阶 2 软件测试与软件开发
- 2021年软件开发测试领域可能出现的趋势
- 软件开发的方法