有没有可以免费看的视频,seo搜索引擎优化课后答案,同信.长春网站建设,网游网站开发本文#xff0c;源自我回答刚毕业朋友关于.NET学习疑惑的回复邮件。 本文#xff0c;其实早计划在《你必须知道的.NET》写作之初的后记部分#xff0c;但是因为个中原因未能如愿#xff0c;算是补上本书的遗憾之一。 本文#xff0c;作为[《你必须知道的.NET》]系列的第20… 本文源自我回答刚毕业朋友关于.NET学习疑惑的回复邮件。 本文其实早计划在《你必须知道的.NET》写作之初的后记部分但是因为个中原因未能如愿算是补上本书的遗憾之一。 本文作为[《你必须知道的.NET》]系列的第20回预示着这个系列将开始新的征程算是[你必须知道的.NET]2.0的开始。 本文作为一个非技术篇章加塞儿到《你必须知道的.NET》队伍中我想至少因为回答了以下几个必须知道的非技术问题.NET应该学习什么 .NET应该如何学习 .NET的学习方法 本文不适合所有的人。 开始正文 关于这个问题也有不少刚刚入行的朋友向我问起。我想可能一千个人就有一千个答案我不能保证自己的想法适合于所有的人但是这确实是我自己的体会和经历希望能给你一些参考的价值。同时我也严正的声明我也是个学习者也在不断的追求所以这里的体会只是交流并非说教。
作为同行首先恭喜你进入了一个艰难困苦和其乐无穷并存的行业这是软件的现状也是软件的未来。如果你想迅速成功或者发家致富显然是个难以实现的梦想。老Bill和李彦宏在这个行业是难以复制的所以做好长期艰苦卓绝的准备是必须的。至少我身边的朋友包括我自己都是经历了这个过程而且依然在这个过程中累并快乐着。所以如此辛苦又没有立竿见影的“钱”途想要在这个领域有所发展只能靠坚持和兴趣了。二者缺一不可对于刚刚毕业的你来说这个准备是必须有的。这是我的第一个体会可能比较虚但是这个在我看来却是最重要的一条。
第一条很关键但是除了在思想上做好准备还有应该就是你关心的如何下手这个问题了从自己的感觉来说我觉得比较重要的因素主要包括
1 基础至上。
其实早在两年前我也存在同样的疑惑很多的精力和时间花费在了追求技术技巧、技术应用和技术抄袭的自我陶醉状态。历数过去的种种光辉历程很多宝贵的人生都花在交学费的道路上了。所以当我把全部的精力投入到基础和本质研究的课题上时竟然发现了别样的天地。原来再花哨的应用再绝妙的技巧其实都架构在技术基础的基础上没有对技术本质的深刻理解谈何来更进一步了解其他。这种体会是真实而有效的所以我将体会、研究和心得一路分享和记录下来于是就有了《你必须知道的.NET》这本书的诞生我切实的觉得从这个起点开始了解你必须知道的才能了解那些更广阔的技术领域。
所以如果能够坚持不放弃枯燥从基础开始踏踏实实的学习基础我想你一定会有所突破。而这个突破其实也有着由量到质的飞跃以.NET为例我认为了解CLR运行机制深刻的认识内存管理类型系统异常机制熟悉FCL基本架构学习c#语言基础认识MSIL、元数据、Attribute、反射、委托等等当然还包括面向对象和设计架构都是必不可少的基础内容。你可以从《你必须知道的.NET》的目录中来大致了解到应该掌握的基础内容顺便广告了:-)
话音至此顺便推荐几本基础方面的书如果有时间可以好好研究研究
Don Box, Chris Sells, Essential .NET一本圣经深刻而又深邃为什么不出第二卷Jeffrey Richter, Applied Microsoft .NET Framework Programming.NET世界的唯一经典偶像级的Jeffrey是我的导师。Patrick Smacchia, Pracical .NET2 and C#2.NET领域的百科全书可以当作新华字典来读技术。Richard Jones, Rafael D Lins, Garbage Collection: Algorithms for Automatic Dynamic Memory Management内存管理方面就靠它了。Christian Nagel, Bill Evjen, Jay Glynn, Professional C# 2005c#基础大全大家都在看所以就看吧。Thinking in Java是的一本Java书但是带来的不仅仅是Java写书写到这份上不可不谓牛叉。Anytao, 你必须知道的.NET我很自信没有理由不推荐这本书有其他作品所没有的特别之处虽不敢恬列于大师的经典行列但是推荐还是经得起考验。
我一直主张书不在多有仙则灵。上面的几本在我看来就足以打好基础这一关。当然如果有更多的追求和思索还远远不够因为技术的脚步从未止步。但是至少至少应该从这里开始。。。
2 你够OO吗
不管对业界对OO如何诟病不管大牛对OO如何不懈那是他们折腾的事业。而我们的事业却无法远离这片看似神秘的王国因为但凡从项目和产品一路厮杀而来的高手都理解OO的强大和神秘。站在高高的塔尖来看软件玩来玩去就是这些玩意儿了。所以在我看来OO其实也是软件技术的必要基础也是技术修炼的基本功之一因此我也毫不犹豫的将对面向对象的理解纳入了《你必须知道的.NET》一书的第一部分范畴。
然而实话实说OO的修炼却远没有.NET基础来得那么容易苦嚼一车好书狂写万行代码也未必能够完全领悟OO精妙。说得玄乎点儿这有些像悟道想起明代前无古人后无来着的心学开创者王阳名先生年轻时每天格物修炼的痴呆场景我就觉得这玩意儿实在不靠谱。其实很少有人能完全在OO面前说彻悟所以我们大家都不例外。但是因为如此重要以至于我们必须找点儿东西或者思路来摩拳擦掌了解、深入和不断体会所以我对面向对象的建议是始终如一的修炼打好持久战。
如何打好仗呢不例外的先推荐几本经典作品吧
EricFreeman, Elisabeth Freeman. Head First Design Patterns标准的言简意赅形象生动难得佳作。Erich Gamma, Richard Helm, Ralph Johnson, John Vlisside设计模式-可复用面向对象软件的基础开山祖师的作品不独白不读。Martin Fowler, Refactoring: Improving the Design of Existing Code同样的经典很拉风。Robert C. Martin敏捷软件开发原则、模式与实践对于设计原则无出其右者。张逸软件设计精要与模式国内作品的优秀作品园子里的经典之作。
有了好书还是远远不够的。所以还得继续走王阳明的老路今天格一物明天格一物看见什么格什么。用咱们的专业术语说就是不断的学习和实践他人的智慧结晶看经典框架写熟练代码。我的一位偶像曾语重心长的告诉我做软件的不写上千万行代码根本就没感觉。按照这个标准衡量一下自己我发现我还只是小学生一个所以废话少说还是去格物吧。
那么OO世界的物又是什么又该如何去格在我看来大致可以包括下面这些内容但是分类不按学科标准
面向对象的基本内容类、对象、属性、方法、字段。面向对象的基本要素封装、继承、多态我再外加一个接口。设计原则接口隔离、单一职责、开放封闭、依赖倒置、Liskov替换没什么可说的这些实在太重要了。设计模式也没有可说的实在太重要了。 SingletonAbstract FactoryFactory MethodCompositeAdapterBridgeDecoratorFacadeProxyCommandObserverTemplate MethodStrategyVisitor分层思想例如经典的三层架构模块化AOPSOAORM......
这些OO领域的基本内容看起来令郎满目其实互相联系、互为补充没有独立的分割也没有独立的概念了解这个必然牵出那个所以修炼起来并不孤单反倒在不断的领悟中能够窃喜原来软件也可以如此精彩。
3 舍得是门艺术。
有了技术基础懂得修炼OO下面就是舍得的问题了。舍得舍得不舍怎得
.NET技术有着近乎夸张的应用范畴从Windows GDI应用到ASP.NET Web应用到WCF分布式应用到Window Mobile嵌入式应用到ADO.NET数据处理到XML Webservice.NET无处不在。所以对于.NET技术的学习你应该有个起码的认识那就是我不可能了解.NET的整个面貌 还有个起码的问题继续那就是我还要学吗
当然不可能了解所有因此你必须选择和舍得选择有方向舍得有兴趣我还要学吗当然要学但是应该首先清楚如何学在这么多眼花缭乱的技术应用中有一个基础始终支撑着.NET技术这艘航母在稳步前行不管是什么应用不管是什么技术不管是什么框架CLR总是.NET技术的心脏。通过表面来倾听心脏的声音才能更好的了解机器的运转顺着血管的脉络了解框架才能明白机制背后的玄机。层出不穷的新技术和新名词总是能吸引你的眼球但是永远不要只盯着那块蛋糕而掉了整个礼物所以对.NET的学习一定要打好基础从了解CLR底层机制和.NET框架类库开始逐渐的追求你的技术选择。
善于分辨不盲从。每天上cnblogs、MSDN和其他的订阅技术文章是我的习惯但是如果每篇都读每篇都看那就基本没有其他的时间所以你必须有分辨的能力和抵抗诱惑的心态。找准自己的方向并且坚持下来是难能可贵的。
在这方面没有参考也没有推荐全屏自己的慧眼。眼光是个关键。
4 读几本经典的作品。
这一点其实并不需要多说推荐的几本作品值得花点儿功夫来学习因为这的确是最初的开始走在路上从起跑线就走错了方向大致快速追上是比较难得。所以经典的作品就是一个好的起点我也会不时的在个人博客中推荐更好的专著希望你继续关注J
5 遵守规范养成良好的编程习惯。
其实这是个看似无足轻重的小事儿我经常看到自以为天下无敌的高手胡乱的在编辑器中挥洒天赋一阵高歌猛进但最后自己都不知道当初的本意是什么。软件是个可持续的资源于人于己都遵守点儿规则出来混是要有点儿职业道德。对自己而言良好的编程习惯正是一个良好学习习惯的开始。看着自己的代码感觉像艺术一般优雅大致也就是周杰伦听到东风破时候的感觉吧怎一个爽字了得。
推荐一本这方面的书
Krzysztof Cwalina,Brad Abrams , .NET 设计规范--.NET约定、惯用法与模式
6 学习讲究方法。
具体的学习方法实在是因人而异我从来不主张学习他人的方法因为人性是难以复制的东西。自己的只有自己最清楚所以你可以模仿他人的技艺但是用于无法刻画其灵魂。关于学习方法这档子事儿我向来不喜欢参考他人也更不喜欢推荐。
但是即便如此丝毫不减弱学习方法的重要性懂得了解自己的人是真正的智者所以挖掘自身潜力永远是摆在自己眼前的课题。寻找一套行之有效的方式方法非常的重要但是不要学着模仿这方面我觉得只有创新才能成功。
如果实在没有自己的方法我就觉得没有方法就是好方法苦练多看永远不过时。
7 找一个好老师。
如果有幸能有一位德高望重而又乐于奉献的师长指导那的确是人生之幸运但是这种概率实在是太小了。我没有赶上所以大部分人也没法赶上。没办法还是需要好的老师那么哪儿有这样才高而又德厚的人才呢
答案是互联网。googlebaidu一个都不能少。
MSDN是个好工具博客园是个好地方《.NET禅意花园》是个好开始。
8 英文无可避免。
前面说过要不断的修炼和格物要学习好的作品认识好的框架。很不幸的是这些好事儿全被老外占了因为本来就是从他们那里开始的所以也不需要泄气。中国人自古都是师夷长技以制夷的高手希望软件产业的大旗别在我们手上倒下。但是话说回来英文就成了一个必须而又伤神的拦路虎但是没办法使劲的嚼吧。多看多写多读也就能应付了。
关于英文的学习和成长我并不寄希望于在什么英语速成班里走回头路学校苦干这么多年也每隔名趟所以下手还是务实点儿我推荐几个好的英文网站和大牛博客算是提高技术的同时提高英语一箭双雕一举两得
http://www.gotdotnet.com/http://codeproject.com/http://www.asp.net/http://codeguru.com/http://www.c-sharpconer.com/http://blogs.msdn.com/bclteam/http://blogs.msdn.com/ricom/http://samgentile.com/blog/http://martinfower.com/blikihttp://blogs.msdn.com/kcwalina/http://www.pluralsight.com/blogs/dbox/default.aspxhttp://blogs.msdn.com/cbrumme/