首页 > 代码库 > C# 学习计划
C# 学习计划
下定决心学习C#, 要做实际的项目还有记下笔记
考验自己,连这个都做不好的话你能做什么?仔细想想你凭什么赚钱?
一个要把这关过掉。
有一句话说 失败很多就是过早地推出,我一定要坚持这个计划,把这个计划完成,每天都要努力,最好一年内完成,不过不管拖了多长时间,这个计划一定要完成。
记笔记要注意的事项:
1.不要直接抄书上的,用自己的语言,不看书写笔记
2.不求全。只求突出重点还有易错点
学习计划如下:
第一阶段:.Net基础加强
常用数据结构(List、Dictionary、Array)、多态、常用设计模式、反射、常用.net类库、泛型、IO流、委托事件、正则表达式、反射、XML等。
第二阶段:数据库开发及ADO.Net
-
1、索引、事务、SQL语言高级技术(空值处理、聚合与分组、数据分页、Union、日期函数、类型转换函数、流控函数、表连接、子查询、存储过程、触发器)、数据库设计范式、数据库调优。
-
2、ADO.Net:行集、数据集、Enterprise Library(SQLHelper)、SQL注入漏洞防范。
-
3、三层架构:UI+BLL+DAL三层架构是目前企业中应用最广的系统架构模式,这个阶段我们将学习动软代码生成器、CodeSmith、自己动手写三层架构等技术。
-
4、做一个具体的项目(类似餐饮管理系统之类的项目):
第三阶段: JavaScript与JQuery
-
1、HTML高级特性、CSS(包含Div+CSS布局);
-
2、JavaScript基础、JavaScript高级语法(JS面向对象原型prototype、混合方式构造对象、面向对象实例详解、作用域、闭包、call和apply)、JavaScript Dom;
-
3、JQuery(JQuery函数、隐式迭代、链式编程、id选择器、tag选择器、CSS选择器、层次选择器、表单选择器、过滤选择器、复合选择器、节点导航、节点操作、样式操作、事件、动画、JQuery Cookie、JQueryUI);
CSS、JavaScript是ASP.Net开发的基础,把这些掌握好了就能很轻松的学会ASP.Net;Dom是实现网页动态效果的技术,在网站越来越个性化年代,招聘企业对应聘者的Dom水平要求非常高;JQuery是近几年异军突起的JavaScript框架库,几乎成了Web前端开发事实上的标准,大部分企业都是使用JQuery进行Web前端的开发。
第四阶段: ASP.Net开发
Socket网络编程、多线程、自己动手写Web服务器、ashx模式Web开发、ViewState、Cookie、Session、Http协议、Web开发基本原则、XSS漏洞防范、Request对象、Response对象、Server对象、虚拟路径、HttpHandler深入、ASP.Net生命周期、WebForm原理、服务端基本控件、WebShell漏洞防范、HTML服务端控件、验证框架、MasterPage、数据绑定控件(ObjectDataSource、列表类绑定控件、GridView、FormView、ListView、Repeater、高效率分页)、缓存、错误处理、AJAX(XMLHTTP、JQuery AJAX、Json)、全局文件、HttpHandler与HttpModule、IIS配置、NVelocity模板引擎。
由于微软对ASP.Net进行高度封装,因此ASP.Net入门非常简单,开发人员不需要了解HTML、JavaScript、Http协议也可以快速开发出一个Web系统,正因为如此,社会上充斥着大量这样的“拖控件的开发人员”,使得很多Java、PHP等语言的开发人员诋毁ASP.Net开发人员的时候经常会说“你们什么都不懂,就会拖控件”。ASP.Net的快速开发是ASP.Net非常大的一个优点,可以加快开发效率,这是行业的发展趋势,但是局限于这样的“傻瓜化开发方式”的开发人员的竞争力和成长性都是非常有限的,遇到ASP.Net一些高级技术(比如ASP.Net MVC、SEO、网站调优、服务端客户端混合编程、AJAX等)的时候就完全不能胜任。通过上一个阶段的HTML、JavaScript、Dom的学习,学员已经有了很好的HTML、JavaScript基础;在ASP.Net课程的一开始,不是直接学习怎么拖ASP.Net控件进行快速开发,而是通过ajaxx的模式开发原始的动态网站,明白“请求—处理—响应模型”、“Http协议、Http无状态”、“C#代码渲染生成浏览器端JavaScript”、“ViewState的作用”、“Session的原理”等这些基本而又重要的原理,从而扫清后面ASP.Net知识学习的基础性障碍。
ASP.Net中有一些技术是有局限性的,要根据这些技术在企业中的实际应用情况进行调整、补充。比如项目中几乎没有在UI层直接访问数据库的,而是采用三层架构,因此不学习UI层直连数据库的控件SQLDataSource,而是把主要精力放在讲解三层架构开发模式。再比如ASP.Net内置的AJAX解决方案UpdatePanel只在部分要求不高的内网项目中才被使用,因此学习UpdatePanel的使用和原理之外,把更多的时间放在学习企业中用的最多的JQuery AJAX解决方案上。
第五阶段:ASP.Net项目
1、CMS系统:这是一个包含了资讯栏目管理、资讯发布、富文本编辑器、页面静态化、URL重写、验证码、AJAX、评论管理、网站安全、高效率分页、权限管理、友情链接管理等技术的内容管理系统。
第六阶段:ASP.Net MVC 技术基础
ASP.Net MVC是微软推出的区别于ASP.Net WebForm的Web开发新技术,由于ASP.Net MVC解决了ASP.Net WebForm的很多缺点,非常适合大型、中型项目的开发,一经推出就受到了.Net开发社区的追捧,很多.Net开发人员的职位要求中都提到了要求掌握ASP.Net MVC。
主要知识点:Entity Framework、Linq To EF、MVC模型、Html.Helper、AspNet MVC下的Ajax、AspNet MVC分页、路由(Routing)、常用ActionResult、Razor视图引擎;
第七阶段:ASP.Net MVC 项目
B2C电子商城。这是一个典型的基于ASP.Net MVC技术的B2C电子商城项目,使用经典的三层架构进行开发。涉及商品管理、用户管理、订单管理、导航管理、站内搜索引擎、静态页面生成(新浪、搜狐等大型网站普遍采用的技术)、视频转码和播放、伪静态设置(URL重写)、RSS输出、水印设置、在线支付(支持支付宝、财付通、快钱等第三方支付平台)、AJAX无刷新操作、敏感词过滤、无刷新上传等核心模块。还涉及到工厂模式、抽象工厂、Spring.Net、Memcached、Redis分布式队列、MongoDB、权限管理、单元测试、WebService、WCF、图片文件集群处理、源代码管理(SVN、CVS)、网站优化等技术的应用。大型互联网站由于访问量非常大,因此不是那些单纯用ASP.Net控件拖拽开发的开发人员能够开发的,也不是闭门造车能够造出来的,必须是在实际项目中经过无数访问者的使用、反馈、修改才能做出来的。
项目:自己开发一个B2C商城,并且做一个实例(一个实际的店铺)。
模仿nopCommerce,并分析nopCommerce.把nopCommerce研究清楚。(写详细的分析笔记,用自己的语言,从学习的角度。)
第八阶段: .Net开发Android、IPhone技术
Unity3D开发Android、IPhone、网游游戏开发课程