我常说C#的入门技术是委托、事件、消息。只有当你可以纯熟运用这三个技能的时候,才刚刚入门,此时C#的大门才算正式为你打开。很多人在学了一些语法编写一些项目后就觉得C#精通了,其实你们还没入门呢(对日开发的居多)

下面上一个图片,大家来看看自己的定位,当然是纯技术角度,其实,有些时候一个软件架构,用初级软件工程师也是可以架构的。

  

1,        comom language runtime :初级人员无视他,中级人员起码要知道他,高级人员多数要会使用其中一些应用比如security,架构师要理解原理。

2,        .netframework :这里有许多框架,会的越多越好。

3,        Base class library :这里都是基本语法你会了多少呢,想成为高手一定要全部学会,一个都不能丢。

4,        Runtime infrastructure library:这里内容初级开发者不用了解,进入中级就要开始一点点吸收了,想到高级要全部消化,是全部哦。

5,        Framework calss library:这里都是基本应用,初级程序员肯能都会接触一些,中级就会了解和运用一些,高级就要全部会用。

6,        Core concepts:这里的内容同上。

7,        Core features,core objects,CLI language,DLR略过。。。

8,        Desktop:CUI了解就行,GUI要深入了解,另外这里的涉及到了XAML语言,这个要学会。

9,        Web:这里涉及的框架sharpoint如果工作没涉及不去了解也是可以的,但asp.net是必会的,其中的MVC就算工作没应用也要学会。Asp.net runtime是进阶高手的一个路障,了解的越多越好。Silverlight的话,会xaml基本就能用,如果工作需要精通。

10,     SOA:这也是个必会的东西,而且至少要精一个。

11,     Open web interface for .net:要了解,会使用,如果工作需要,要精通。

12,     SDK:要了解,会基本使用。

13,     Development:这个基本没有人能全会,但工具这个要熟练使用,毕竟工具会的越多越好,但不是技术加分。

14,     Platforms:这个基本很难有人全精,但多少要了解,工作用过的要精通。

15,     Productivity:起码nuget要会用。

16,     Build:高级人员要了解原理。

17,     Testing:至少要会使用1个,其他的要了解。

18,     Deploy/publish:这个基本都百度的出用法,了解就可以,起码知道有这个东西,需要的时候可以百度。

19,     Framework tool:这里有些是必会的,有些会用就行,但最好全部了解,需要的时候学习用法。

20,     Data:这里内容作为高级人员是必会的,如果其中的orm可以用EF作为跳板深入研究(这里的水很深)。

21,     Conponents:中级以后难免要接触这些,了解的越多进步的越多。

22,     Concept:这是图片里没有的,中级以后就会接触的,像什么IOC,AOP,MVC,MVVM,DDD等等,在学习这些的过程中可以逐渐向架构师前进,其实这些概念学会了之后会发现,概念只是装逼用的。在概念里分为基本概念和高级概念,像IOC,AOP就是基本概念,这些东西在编码时你已经应用过了,而且有一些现成的开源代码,而且原理很简单,学会后可以用具体语言来把你编码的方式表达出来,不去了解也无妨,但知道的多了,方便忽悠;而DDD就是高级概念,光百度是学不会的,一定要应用过才能了解,但DDD这样的高级概念很复杂,非技术人员很难理解,技术人员也未必有那么好的口才讲解,而IOC,AOP这类的简单概念很容易理解,基本上口才笨拙的开发人员也能讲的很溜,很适合给领导很讲解。所以在领导看来,会基础概念和会高级概念都是一样一样一样地。

看到这里是不是那些以为C#很简单的同学就很吃惊啦啊,那些自以为自己是大神的是不是发现,原来自己不过才是刚入门的小菜鸟啦,那些以为自己C#精通的外包达人们,是不是打开图片后一脸陌生的感觉呀。其实,C#并不比其他语言简单,水深的狠,哪那么容易精通。

这些还只是C#,作为一个程序员,还要有其他必备的知识,比如HTML和CSS你得会,JS你得会,别说你知道标签是什么意思就说自己会了,起码DIV+CSS切图玩的起来才算会。数据库你得会,数据库水很深,别轻易说自己有初级DBA的水平,那些传说中每天备份表数据的初级DBA可是连入门都没有呢,不要和他们比;作为高级开发人员,起码存储过程要信手拈来把,起码要有解决过大数据死锁的经验吧。如果业余爱好再丰富一点的人,PS基本使用也要会把,falsh也要了解吧,3Dmax是不是也可以玩玩啊,程序员也要有美感嘛。此外,程序员要会写文档,解决方案可是基本技能,高级点的概要设计也是文档嘛。另外高级程序员难免还得写点ppt吧。

除了这些,还有一些要了解的东西,比如操作系统呀,硬件呀,软件工具等等,因为不一定什么时候你面对着一些性能bug,就需要他们的知识才能解决,或者解释。

再更上一层楼,要接触一些开源代码啦,现在Xamarin都开源了,你有去了解吗?很多开源代码都很厉害的,不要对我说在CSDN下载了一些开源代码啊。。。

【PS:如果有需要购买Xamarin安卓框架的可以联系我,分为原始框架和web嵌入框架两种,后者采用angularjs+web api技术,Web页面端实现MVVM :)】

以上全部是纯技术分析,当然不是全部,如有遗漏欢迎大家补充。

上面这些都是纯技术,是虚拟社会,回到现实世界,由于一些人是由初级程序员,尤甚者未入门的程序员,直接跳级到了架构师,或者高级程序员,从而引发代码世界的混乱,而这样的人才之所以成功,除了自身年龄和口才外,和那些非技术人才的力捧也是主因之一。不过呢,话说回来,我们是商业社会,有些项目能用即可,有些项目拖延到烂尾也是必要的,所以口才的重要性,并不比技术低。一个技术没入门的架构师并不比一个真才实学的架构差,即便他们其他技能也是零,因为我相信存在即是合理。

作者:互联网先驱者
链接:https://juejin.cn/post/6844903639652237325
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

.net 技术大全的更多相关文章

  1. JFreeChart生成饼形图(3) (转自 JSP开发技术大全)

    JFreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图: ...

  2. 利用JFreeChart生成时序图(6) (转自 JSP开发技术大全)

    利用JFreeChart生成时序图(6) (转自 JSP开发技术大全) 14.6 利用JFreeChart生成时序图 通过JFreeChart插件只能生成普通效果的时序图,利用工厂类ChartFact ...

  3. 利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全)

    利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全) 14.5 利用JFreeChart生成区域图 通过JFreeChart插件只能生成普通效果的区域图,利用工厂类ChartFac ...

  4. 利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全)

    利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全) 14.4 利用JFreeChart生成折线图 通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折 ...

  5. JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)

    FreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如 ...

  6. JFreeChart生成柱形图(2) (转自 JSP开发技术大全)

    JFreeChart生成柱形图(2) (转自 JSP开发技术大全) 14.2 利用JFreeChart生成柱形图14.2.1 利用DefaultCategoryDataset数据集绘制柱形图 通过JF ...

  7. JFreeChart基础(1) (转自 JSP开发技术大全)

    JFreeChart基础(1) (转自 JSP开发技术大全) JFreeChart是一个Java开源项目,是一款优秀的Java图表生成插件,它提供了在Java Application.Servlet和 ...

  8. 利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全)

    利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全) 14.8 利用JFreeChart生成组合图表  实例位置:光盘\mingrisoft\14\dxyy\02 通过JFree ...

  9. 利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)

    利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全) 14.7 利用JFreeChart生成多轴图表 通过JFreeChart插件还可以生成拥有多个坐标轴的图表,简称多轴图表.在生 ...

随机推荐

  1. golang中字符串-字节切片,字符串-字符切片的互转

    package main import ( "fmt" "reflect" ) func B2S(bs []uint8) string { // 将字节切片转换 ...

  2. Go 面向对象编程应用

    #### Go 面向对象编程应用前面学习了很多的基础知识,这一节来实际写一个小案例:涉及到的知识: 1. 数组的基本使用2. 结构体3. 切片 4. 方法5. 循环6. 函数返回值(命名返回值,普通返 ...

  3. Kubernetes:Pod基础知识总结

    Blog:博客园 个人 官方文档详尽介绍了Pod的概念. 概念 Pods are the smallest deployable units of computing that you can cre ...

  4. python开发之函数

    转:https://www.tuicool.com/wx/vEVrqeR 06 python开发之函数 博客园精华区12-12 20:56 06 python开发之函数 目录 6.2 调用函数与函数返 ...

  5. Kubernetes的Controller进阶(十二)

    一.Controller 既然学习了Pod进阶,对于管理Pod的Controller肯定也要进阶一下,之前我们已经学习过的Controller有RC.RS和Deployment,除此之外还有吗,如果感 ...

  6. 人口信息普查系统-JavaWeb-二

    上次发表了人口普查系统的题目要求,今天和大家分享一下我的技术方案. 技术上用到的是html+jsp+JavaBean+servlet+JavaScript 其实现在的前端页面主流还是html,它可以实 ...

  7. uni微信小程序优化,几行代码就能省100kb的主包空间?

    不是标题党,我们公司的项目确确实实是省下了100kb的主包空间,而且还是在没有牺牲任何的性能和业务的前提下实现的. 但是100kb是根据项目大小,所以你用这个插件可能省下超过100kb或者更少. 直接 ...

  8. ABC182 F Valid payments

    解法一 首先不妨来思考一下怎样的一个付钱方案是最优的,假设需要支付 \(Y\) 元,第 \(a_i\) 种钱币支付了 \(s_i\) 张,那么必须有:\(s_i < \frac{a_{i + 1 ...

  9. Java8-Consumer、Supplier、Predicate和Function方法总结

    这几个接口都在 java.util.function 包下的,分别是Consumer(消费型).supplier(供给型).predicate(谓词型).function(功能性): 那么,下面,我们 ...

  10. SqlServer数据库表生成C# Model实体类SQL语句——补充

    在sql语句最前边加上  use[数据库名] 原链接:https://www.cnblogs.com/jhli/p/11552105.html   --[SQL骚操作]SqlServer数据库表生成C ...