你是否学习过你常用框架的源码?

  • 写在前面

           首先声明这不是分享框架如何使用的教程,也不是作为一个传教者讲授的教程,这只是作为一个不断学习的开发者学习的一个记录,但是这个记录我把他分享出来,如果您看到了,或者有不同的见解,请您提出来我们进行友好的讨论,而不是毫无根据的抨击。


  • 我们开始吧

            因为做.Net开发工作也已经好几年了,经历过一些技术的变迁,刚接触的是webform,到后面的mvc以及现在比较流行的webapi,从开始的一把梭,再到近年来微服务思想的普及,前后端分离的优势从而显现出来,随着时间往后推移,或许还会出更多优秀的框架,但是作为开发人员我觉得除了框架的使用之外,很有必要的去了解一下框架运行的原理和机制,哪怕很少的一部分。

        在此总结了下我个人认为需要去学习的观点,仅仅只代表我自己,在此我并没有把.NetFrameWork和.NetCore分为三六九等,在我心中它们都是非常优秀的框架,只是侧重点不同而已,如果有不恰当或者根本不正确的论证引用,那只能说明我写总结的水平不足,并不代表我对它们任何一个带有敌意和歧视,大家可能学习过.NetCore,他的特点是什么?以及吸引到你的地方是什么,是纯粹为了追求时髦?还是跨平台?又或者是它的可配置,高性能?

        各种中间件的扩展,跟搭积木一样,按照你自己的想法来搭建一个应用程序,是不是更加体现了它的魅力所在,我们对比.Net framework 他的缺点就明显很多了,你要的不要的都放框架里,你要执行或者不执行的它都给你执行,简称"大杂烩" ,然后好处是开发者只需要关心业务,因为你不需要操心技术问题,更不需要了解框架帮你做了什么,你只需要写好你负责的那个模块的增删改查。

        这虽然在某种程度上提高了生产能力,但是作为程序员的角度来说就很危险了,所以这就是为什么前面说要学习它的机制的原因,你可以不用,但是要了解,因为一个程序员想要提升自己的技术水平,则必须学习基础知识,在此处的“基础知识”指的是针对现有框架的机制和原理以及框架代码中优秀的设计思想以及编码,这对个人技术提升有很大的帮助。至于学到什么程度,取决于每个人自己的认知

写代码我必须再认真一点,当我最终放下键盘时,我不想仍有遗憾。

18 声望
0 粉丝
0 条评论
推荐阅读
记Quartz中使用AutoFac依赖注入遇到的问题
       最近在做一个需求,就是在Job中捕捉异常,然后通过邮件或者消息的方式推送给指定人员,在需求实现的过程中遇到的一个注入问题,觉得很有意思,特此记录。

yuxl011阅读 1.2k

(持续更新,已更新至2022年11月26日)C语言经典题集合
(持续更新,最新时间2022年11月26日)1. 三个数由小到大排序输入任意3个整数,编程实现对这3个整数进行由小到大排序井将排序后的结果显示在屏幕上 {代码...} 2. a²+b²要求输入整数a和 b, 若a²+b²的结果大与100, ...

瞿小凯阅读 1.4k评论 2

封面图
C#基础巩固与进阶(定时语音播报+PDF水印+分片上传+EF6框架)
b站视频:2022年C#进阶教程-C#应该学到什么程度(针对编程思维)前提UI框架:WinForm(基于.net framework 4.6.1)、MaterialSkin.2(v2.3.0.0) {代码...} ps:如果你想使用wpf到达类似界面效果可以参考。[链接]章...

程序员ken2阅读 367

比特熊故事汇2.0 | 矛盾个性是促成创意不竭的正反合
2023年开年故事汇,我们请来一位“熟悉的新朋友”,他乐观、谨慎、敢于尝试、富有想象力,擅长Azure、AI、C#、产品设计。他是拥有10年+经验的微软MVP,也是有点社恐却谈笑风生的开发人。本期比特熊故事汇主人公——王...

微软技术栈阅读 751

封面图
反射(Reflection)
反射(Reflection)反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的...

aq5kkmgj阅读 528

使用ILSpy反编译C#代码
使用ILSpy反编译C#代码1.点击dll,保存,保存为.csproj文件2.使用visual studio打开.csproj项目3.生成即可碰到的问题:1.把AssemblyInfo.css里面的如下所示删除 {代码...} 2.无法调试通过调试->窗口->模块查看...

点墨阅读 397

这几个SQL语法的坑,你踩过吗?
1、LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,...

一口鸭梨阅读 333

写代码我必须再认真一点,当我最终放下键盘时,我不想仍有遗憾。

18 声望
0 粉丝
宣传栏