博客园上常关注的两个博客,老吉写了篇不懂接口、反射、委托、设计模式足足写了5年的代码,还有白话反射,老赵写了篇谈白话反射。 自己也有些感想,接口反射这些东西,无论哪个编程语言里都属于《xxx高级编程》之类书里靠后的章节。能将这些东西灵活自如又不过分的运用,自然属于程序高手的行列。
我也是大学C语言课学了一点编程语法,然后自学开始进入程序员工作的。刚开始,我就从来没觉得这些东西会有什么难度,一切应该水到渠成,船到桥头自然直。交通拥挤时人们想到立体发展;阶级分化导致社会不安定时人们想到创建国家。随着事物发展到一定程度,新的事物便会应运而生。程序语言也不例外,从机器码到高级语言,从过程到对象,直到出现接口反射委托这些概念,都是软件发展的需要。我们学习编程遇到不易理解的概念时,如果仔细考虑,寻找其在哪些地方方便了开发,提高了效率,便有利于很快掌握它。如果现在想不到其合理之处,那说明自己的基础和实践还不够到这层。
边学边习,是为学习。当你刚会把一段多处用到的代码封装成函数,还理解不了类这东西有什么用处时,没有关系。就用你的函数实现各种程序吧,多数操作系统还都是没有类概念的C语言编写的。一个又一个的函数,大约写了几百个后,你会想起来,有些相关的函数好像可以用一个叫类的东西联系在一起。然后翻出类的概念重温,经过不长时间的调试摸索,你实现了你的想法。OK,你质变了,境界升华了,更牛X了。
去年第一次用反射时,也是写了很多实体类后,感到由属性与SQL查询、结果集与属性之间的转换,重复来重复去的都是那些东西,我就想到了可能好像似乎隐约有个叫反射的东西,拿过来,果然节省了大量代码和时间。虽然不久后就知道用反射读实体类属性性能不好,应避免大量使用,但总归对反射是入门了。
学习的目的,并不是非要把东西都滚瓜烂熟,摸透吃透。人大脑容量虽然深不可测,但接收新事物的速度却很有限。有些东西要较熟练的掌握,有些东西只要记个大概即可,甚至只在你脑海里留个名册就行。有个著名的20-80定律,很适合编程学习。
我觉得老吉说“接口不明白别折腾反射”的观点纯属瞎掰,这两个概念是必要联系吗?不过他的题目中的“白话”很有道理,因为我们从小到大,从学校到社会,学的听的几乎都是黑话,我们很需要多一些白话。白话是引导式教育,黑话则是填鸭式教育。根深蒂固的影响,使从家长到教师到书籍作者的教育方式都是填鸭式。至少我看过的编程开发的几本书中,在介绍那些初学者感到晦涩的概念时,在书页中找不到让读者去领会其意义的试图。 我们则习惯了被填鸭的思维,对于软件开发这样一个需要反复学习-实践-领会-再实践的学科,使许多初学者因举步为艰而迷茫以至放弃。这实在是悲剧!
让我们解放自己的思想,在自己的黄金岁月里浓缩数代软件业前辈们的探索历程,然后抓住机会。执著自己的梦想,引领下一次软件革命,创造出比接口、反射、委托更伟大的东西的大师,可能就是你!
随笔 - 106
文章 - 2
评论 - 2017
阅读 -
43万
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库