知识只有通过整理才能造成技能 多线程
做为开发者,工做了几年,也总以为技术栈和刚毕业区别不大,用的技术还都是N年前的,往往看到新东西,也只内心哇塞惊叹一下,而后就回归于忙碌。怪本身的技术池太浅
,热门的使人称奇的技术也都是在其余巨人的肩膀上产生,但自卑还没够到巨人肩膀,便以为新技术(相对于本身的技术程度)离咱们好远,对它也无能为力,不了解可否解决当前的痛点?应用成本高吗?就像登山1W个台阶,站在9K台阶处的人就会以为容易些,站在1k台阶处的就感受遥不可及。迈出第一步,跟上前面爬山的人。架构
常常会看见公司框架里那些前人写的代码,仍是.NET早些版本1.0,2.0时代的,虽然语法还比较low,但设计却让人惊奇,身边也少见架构师能够求问学习。咱是从事GIS行业开发,可能着重在于GIS功能的开发,其实有点本末倒置
。GIS只是开发中的一个插件,咱们的根本应该仍是要先把.NET玩溜,不少像性能瓶颈、版本兼容跨平台等问题也就迎刃而解。框架
有时候看不懂的设计代码就去查,当下明白了,某天又忘记了,也不会使用。网上资源太多只能用来解决某个特定问题,如某个bug,某个安装,这是你快速解决遇到的某个问题的好途径。系统的提高仍是须要有个全局系统的知识脉络,像书籍,课程。在系统性的学习以后,会对.NET有个相对全面认识,工做中遇到的一些棘手问题,也都有对应成熟解决方案,根本不会说解决不了,只能曲线求国。很简单的功能设计由于认知不足,浪费大量的人力,设计出庞大难以维护的系统,这是开发者最不能期许的。还有目前.NET很热很成熟的框架都用到高级语法(仅区别于基本语法),反射啊,委托啊、异步多线程啊,还有不少使人拍案叫绝的设计思想。不整明白之后更加忐忑,对新技术浅尝辄止也不会剖析更不敢应用到实际项目中,永远只是个旁观者,只在山脚下叫苦
。异步
想起大学时游手好闲没正经上过几回课,毕业前开始有点恍惚,逼着本身系统学习了下C#基础,虽然轻松毕业就业,就业后作过.NET的CS/BS开发,作过Java的BS开发,但都是了解了基本语法就提枪上阵了,靠运气躲过技术难题。那时没想到要整理,好多书籍课程资料也因搬家都丢弃了。有些时候忘记的知识点还要去网上查找,一下找着正确的还好,找不到又还看到博客论坛还在转发一个错误的示范(我知道有可能只是环境不一样没能像文中描述那么顺畅),内心就开始mmp了。性能
因此写技术文章,必定要通过验证,交代本身的验证环境。
学习
此次准备把本身整理时候的知识点记录下,按俗套姑且取名.NET进阶篇
,以便本身之后查阅,好多东西你必定作过,但你就是暂时想不起来了
。烂笔头记一下,想不起来也好找。本身动手记录,会不自觉看不少遍,修改不少遍,思路也会更加清晰。做为职业Coder,说实话写文章方面文笔就糙了点,大多时候写字为所欲为,与其咬文嚼字,不如多关注些本身知识的盲区。但会尽可能要求代码比文字严格精炼,一行代码胜千言就更好。编码
我会在整理了一些知识点的时候发出来,连着白瞟好几集的感受应该很爽。整个进阶篇的章节分布以下(后面估计会调整,大章节分布不会变,可能归入些新的东西)。插件
我用了一个新的轻薄本(原本买来专做开源GIS的,都快落灰了,若是能坚持把这一系列写完,它也算立大功了),宇宙最强IDE-VisualStudio 2019(在线安装比较慢,离线包有20G左右,后面会上传),在周末假期作拆解,合并,验证,整理工做(原谅咱工做日很难跳出工做状态,下班有空也可能是关注工做中遇到的问题)。一个知识点的相关书籍课程拆出来,为了保证质量,可能须要挺长时间。但愿作到一个知识点看这一篇就够了的地步
。直接复制安装可用的框架代码咱还没能力整理出,此篇更多的是指导思想、原理解析,以点带面,固然会用些经典小例子,因此别太期望能直接复制粘贴到本身系统中F5就能运行成功。定位是高度总结归纳,面向抽象
,好比像正则可能就不会介绍,咱也记不住。到了应用的细节地方可能还须要去查阅详尽的资料,但知道怎么用,怎么查,出问题也不慌张,面对新奇热门的框架也不怵,这是咱指望的。线程
语言章会让你认识C#一些高级的语言特性原理,做为后面的铺垫,设计框架离不开这些东西。设计章总结经常使用的设计套路,不敢说融会贯通下笔若有神,起码会让你编码过程当中能嗅出设计的坏味道,而后着手重构,重构的过程,会慢慢发现本身的设计居然和成熟框架设计思想愈来愈像、一模一样。框架章会了解经常使用框架的原理应用,工做中能够快速选型和应用,也对目前开源.NET环境深刻认识。设计
固然,作的越多错的越多
,没有信心说没有错误,更欢迎读者能指出来。一块儿进步,少走弯路,促进行业发展,社会进步。没错,个人梦想是推动世界进步。咱们能遇到的每一个问题都在某个地方被某人解决过,交流是一种快速且有效的处理问题方式。读书旅行交友都是在交换着咱们对世界的认知,了解的越多,被你掌控的事物就越多。咱们随时都有Plan B,还怕啥。
其实语言层面不少.NET开发者不肯认可,Java热度确实总比C#高,之前也以为.NET挺low的,给人老是后知后觉的感受,毕竟商业运做嘛,要通过不少过程抉择的。一方面可能与我从事的行业相对互联网比较闭塞有关,实际用到的.NET技能也不是不少,也没有大而全的认识。另外一方面也与我慵懒佛系的性格有关吧,不争第一,凡事只作第二就好。千年老二其实挺好的,恰到好处,有余力有余地。
因此也没想过切换本身的主语言,若是须要Java开发者,一个优秀的.NET开发者确定也能冒名顶上。语言真的是一通百通,设计思想更是放之四海而皆准,只是本身主语言开发起来会更顺手罢了,就像常常开本身家的车会比较顺手同样。通常开发者都会不止一种语言。没有最好的语言,适合本身的就是最好的
。你第一次学习接触的语言理应当作你的母语,若是你问我什么是世界上最好的语言?那我不知道,我只知道C#也会是之一。
若是手机在手边,也能够关注下vx:xishaobb
,互动或获取更多消息。固然这里也一直更新de。