.NET技术大系概览 (迄今为止最全的.NET技术栈)
前言
.Net推出13年了,Visual Studio 2015 / .NET Framework 4.6昨天也发布了。
从2002年的.NET 1.0开始,1.1,2.x,3.x,4.x,每个新版本的.NET都会增加新的技术,生态圈也在不断壮大。
问题
大家是否想过:
- .NET究竟包含哪些技术呢?
- 我所掌握的技术这个子集,在.NET技术大系这个超集里面占地比例是什么呢?
- 我究竟还没有掌握多少.NET技术呢?
- 面试的时候会考哪些技术呢?
相信大家也看过Java的技术栈,一个金字塔形状的(我一下子没找回,如果你知道,烦请告诉我),包含了繁多的技术:
这些年来,看过n多.Net架构图/技术栈,搜索了很久,没有找到一个符合我要求的“较为全面”地表述.Net技术大系的图表。相信微软内部有更全面的,但可惜我没有找到。
互联网上来去都是那几个简单的按版本新增分类等10来个点的,譬如这个:
或者这个按照.NET版本新增技术的:
包括微软自家弄的.net universe 2014都不行:
圣殿骑士 在 新加坡架构师面试总结 里面发表过一张.NET架构师面试需要的技术总结图:
不过这个总结图面向的是.NET架构师需要掌握的技术,和我需要的不一样。
.NET技术栈
最近找工作,面试了多家公司,不同公司有不同的技术要求,我把这些技术,结合我已经掌握的技术,总结了一下.Net相关技术,大约10个大类50个技术点,花了一点时间搞个.NET技术栈概览。
这个图表里的分类未必准确,相关技术也难免会有遗漏,欢迎大家指点以便不断改进。
限于篇幅,这里没有罗列一些技术,譬如:
- 数据库访问如NoSQL、O/RM如NHibernate
- Dependency Injection如Autofac
以下是初稿预览图: