博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DotNet进阶系列
阅读量:7289 次
发布时间:2019-06-30

本文共 1729 字,大约阅读时间需要 5 分钟。

一. 回顾历史

   回顾个人发展历程,自2012年初次接触开发至今(2018年)已经有六个年头,这期间陆陆续续学习并掌握了不少技术,C#语言、ORM框架、多线程技术、设计模式、前端技术、MVC、MVVM框架思想等等,每种技术随着多次使用,随着不断的反思,逐渐经历 “了解→理解→掌握→精通 ”这么一个过程,从最初的只能实现功能到如今的“每一步都考虑性能优化问题”,在近两年内,开始写博客,最初只是一时兴起,想让百度上能搜索出我的文章,但现在已经形成一个习惯,在没有特殊事情耽搁的情况下,坚持一周两篇博客,到目前为止,有效文章数已经达到140多篇,当然后面还会陆续写下去。

  作为理科生出身的我,没有华丽的辞藻 ,没有煽情篇章,话不多说,回顾完个人开发历程,下面看一下C#和.Net的发展历程,再次补充一点,.Net不是一门开发语言,而C#才是基于.Net运行环境下的一种高级开发语言。

  

  从上面的表格可以看出来,C#这么语言至今已经接近20年历史了,从2002年诞生的那一刻起,不断更新,不断改进,功能越来越强大,越来越方便程序们的开发,当然.NET类库、CLR、以及开发神器Visual Studio也在不端更新。(VS 2017 宇宙第一开发神器 这个应该毫无争议吧

  之前曾说过,C#仅仅是.Net下的一门开发语言而已,.Net生态远远不止如此。

  

  我们以前提到.Net,指的都是.Net FrameWork,经常被java程序员嘲笑,.Net不能跨平台,但现在不会来,他们可以闭嘴了,.Net Core就是为跨平台而生,下面简单总结一下.Net生态。

  (1) 语言有:C# 、F#、VB

  (2) C/S程序开发技术有:WinForm、WPF

  (3) B/S程序开发技术有:ASP.Net WebForm 、ASP.Net MVC、Core MVC

  (4) 通讯技术有:WebAPI、WCF、SignalR

  (5) 日志框架有:Log4Net

  (6) 数据库访问技术有:ADO.NET 、EF

  这里不再继续列举了,也没有必要再列举了,因为对于新时代合格的工程师而言,没有人限制你只能掌握一种技术,任何一个大型的信息系统,都是有多种技术组合而来,在现在一个大一统的时代,连.Net的生身父母“微软”都开源了,难道小小的你还能故步自封吗?

二. 扫盲C#运行原理

   C#作为一门高级语言,机器是不认识的,那么它是怎么编译成让机器码让机器识别呢,一张图胜似千言万语,请看下图。

  概念补充:

    CTS:C#、F#、VB都必须遵守的通用类型

    CLS:通用语言规范(CLS是CTS的一个子集)

    BCL:基础类库

  总结:C#是一种面向对象的高级编程语言,符合CLR中的CLS(通用语言规范)

  .Net Framework包含三部分:

    1 CLR(windows), .net core的clr支持(windows、linux、macos)

    2 开发工具包

    3 BCL(基础类库)

 

三. 基础进阶系列及章节详细介绍

   最近一直在考虑初学者学习.Net应该从哪学起,上面说的天花乱坠,有什么用呢? 如果连.Net最基础的知识都掌握不了,还谈什么开发呢?

  这里结合我自己的理解,整理出一条较为合适的路线,并对之前的博客重新排版重新改写,形成这个【DotNet进阶篇】系列,一方面方便自己日后复习,另一方面也为.Net社区尽一点绵薄之力。

  

    

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

 

 

 

 

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 :
  • 声     明1 : 本人才疏学浅,用郭德纲的话说“我是一个小学生”,如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 

转载于:https://www.cnblogs.com/yaopengfei/p/8853590.html

你可能感兴趣的文章
linux下 文件夹和文件的字符集编码方式转换
查看>>
软件测试氛围受到什么因素影响
查看>>
大数据实战之环境搭建(七)
查看>>
ISCSI
查看>>
技术关键词_0120625
查看>>
手工配置LVS
查看>>
sudo用法
查看>>
如何创建配置链接邮箱
查看>>
觉得还不错的国内外编程技术网站、论坛列表
查看>>
SCDPM2012R2(二)SCDPM2012R2的安装
查看>>
Rsync命令参数详解
查看>>
mysql日志简单备份小脚本
查看>>
java.net.SocketException: Permission denied
查看>>
Esxi 5.0虚拟机网络不通问题解决
查看>>
替换禁用语(指定关键字)的过滤器(StopWordsFilter)
查看>>
数学经典教材
查看>>
菜鸟的IT道路ing (五)
查看>>
httpfox抓取ip数据包
查看>>
使用Redux和ngrx构建更好的Angular2应用(一)
查看>>
和Bus365从政策聊到行业格局,二度梳理城际客运市场
查看>>