我的.NET之路
做个总结形成自己的知识体系,方便查阅【持续更新...】
C#语法特性
1、NET体系结构
【C#与.NET的关系、公共语言运行库、中间语言、程序集、.NET Framework类、名称空间、内存管理】
.NET:bin 与 obj,Debug 与 Release ,区别与选择
2、C#基础
【基类、常量、变量、数据类型、String类、new的用法、类型转换、装箱与拆箱、预处理器指令、final】
3、C#面向对象
【封装、继承、多态、接口、抽象类、访问修饰符、重载与重写、索引器、序列化】
【设计模式】
4、C#1.0
【委托delegate Action Func、事件】
5、C#2.0
【泛型、Dictionary、匿名方法、迭代器、可空对象、分部类】
6、C#3.0
【自动属性、var关键字(类型推断)、匿名类型、lambda表达式、表达式树、LINQ、对象和集合的初始化】
7、C#4.0
【dynamic 动态类型(运行时确定的类型)、可选参数、命名参数、Task(基于任务的异步编程)、委托Action与Func(见C#1.0)】
8、C#5.0
【异步编程(async、await)】
9、C#6.0
【字符串插值($)vs Format、字典对象初始化、属性初始化、??(空合并运算,var p=object1 ?? object2; 左不为空,则返回左本身;左为空,则返回右。)、nameof表达式】
10、C#7.0
【out参数改进、Tuple改进(解构元组)、模式匹配】
11、C#8.0
【Readonly成员、默认接口方法、索引和范围...】
......
参考:C#基础知识系列索引
101、线程
102、.NET互操作
【C#调用C++、Emgucv】
103、文件处理
【报表、FTP、HTTP、ini文件】
104、CultureInfo 区域设置
【笔画排序、App_LocalResources多语言】
105、缓存
【cookie redis】
106、常用模块
【邮件、短信、AutoMapper、IOC(Ninject)、文件处理、日志、地图】
107、.net面试系列
.NET框架
桌面客户端
Web应用程序
Web API负责构建http常规服务,而SingalR主要负责的是构建实时服务,例如股票,聊天室,在线游戏等实时性要求比较高的服务。
- ASP.NET 用于使用 HTML、CSS 和 JavaScript 构建强大的网站和 web 应用程序,包括三种框架(Web Forms、Web Pages、MVC)
- MVC 使用“模型-视图-控制器”设计模式构建 Web 应用和 API 的丰富框架
- WebAPI 可以对接各种客户端(浏览器、移动设备),构建Http服务的框架
- WCF
- WebService
分布式:WCF、WebService、.Net Remoting
- Windows通信基础(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包(SDK),它将DCOM、Remoting、Web Service、WSE、MSMQ集成在一起,从而降低了分布式系统开发者的学习曲线,并统一了开发标准。
- .Net Remoting:能跨过应用程序域,与另外的应用程序域进行通信的分布式框架
- WebService:其实上是.netemoting的一种特例,仅支持http(s)
跨平台
.NET发布部署
组件
1、消息队列
数据库技术
1、数据库基础与核心
【三范式、事务、备份还原、性能优化】
2、sqllite
3、MSSQL
4、mysql
5、Oracle
5、redis
6、MongoDB
7、C#操作DB
【ADO.NET、EF】
8、EF
Web前端
1、HTML
2、CSS
3、JS
- JavaScript
- JQuery
- AJAX :【Asynchronous JavaScript and XML(异步的 JavaScript 和 XML) AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。用于创建快速动态网页。】
- AngularJS学习 :【一个 JavaScript 框架,通过 ng-directives 扩展了 HTML。AngularJS 指令是以 ng 作为前缀的 HTML 属性】
- React 【它使用了虚拟DOM,因此,将其与任何应用程序集成起来更为简单。】
- Vue.js 【是一个js MVVM库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,它提供了更加简洁、更易于理解的API,使得我们能够快速地上手并使用Vue.js。】
- 逐行剖析 Vue.js 源码
- Node.js 【是服务器端JavaScript运行时环境,可在跨平台上工作并且是开源的。该框架具有事件驱动的体系结构,能够驱动异步I / O】
- requireJS :【JavaScript模块载入框架】
4、浏览器相关
【浏览器兼容性、】
5、控件
安全
其他
1、VS
2、正则表达式
3、调试 (dump、procDump、Windbg)