thtznet
117 天前
OOP 的本质是为了让软件承载的业务在代码的世界中有个映射能更好的让程序员理解业务,只从技术角度看待程序的话,当然程序就是函数就可以了,引入 OOP 不是为了技术迭代或者被迭代,是一种业务理解的哲学过程。其本质一种“设计模式”,只是某些语言被特意地设计成更适合 OOP 的设计模式,例如 C#,但是 C#并不是不能写函数式,完全可以以其他方式组织代码结构。很多最近几年入行的程序员总是感觉 OOP 不流行了,那是多种情况,1 种情况是楼上几位提到的各种范式在融合,另外一种原因是因为很多程序员已经接触不到需要完全面向业务的 OOP 式编程,因为现在有太多的框架和模板或者库将以前需要深入理解 OOP 才可以实现的代码被无形中处理掉了。并不是 OOP 少了,而是很多非关键组件开发的程序员接触不到了,现代软件工程的组织模式导致了很多程序员只会接触到整个软件平台中极其细小的一部分组件,而这部分组件实现的功能极其专业和细微,让人无法感知到需要以 OOP 的设计思想才可以写出来。当程序员的段位上升整体架构的时候,一定会体会到无处不在的 OOP ,虽然最终落实到编码层面不一定以 OOP 的写法去实现。跑个题:新时代的驾驶员开不到手动换挡的车不代表车子没有了挡位,它只是被自动化处理掉了。感知不到传统系统并不代表齿轮少了,它只是在底层默默地工作。