面向对象还是现代软件开发中的主流思想吗
发布网友
发布时间:2022-04-30 13:40
我来回答
共2个回答
热心网友
时间:2022-06-22 17:37
实际上一般开发中大部分时间内, 主要的逻辑思考还是面向过程的. 比如循环, 判定, 跳转等等. 基本上各种算法都是面向过程的.
说说面向对象的时候, 一般已经开始上升一个层次, 比如说面向对象的程序设计. 此时需要切分各个功能模块的粒度, 组成, 依赖, 那么就要开始引入设计模式的一些思想来解决通用的设计问题. 这个阶段将会大量引入面向对象的设计思想, 但是我见过很多人在这个阶段滥用设计模式, 以及一些面向对象的概念. 最终写出来的代码是很高大上, 各种接口, 各种模式, 各种难用.
还有另外一些不同的设计方向, 比如你告诉我SQL是面向过程还是面向对象的? 一个LINQ放在代码里算是过程还是对象?
此外还有一些其他的软件设计思想, 小的比如说AOP, 大的比如说SOA, 微服务. 其实都是在解决一个矛盾, 那就日益扩大的代码规模和人类有限的认知能力之间的差异, 所以无论是面向过程, 对象, 切面, 函数的编程, 都是为了隐藏实现细节而简化系统认知的一种手段. 当然, 隐藏细节但又可以保证系统按照逻辑正常运行, 这是各种编译/链接系统的功劳.
最终, 这是一个人脑, 编译器, 软件各方面妥协/折中的产物. 在不同层次, 不同目的, 不同系统, 妥协的方向都各有不同, 开发人员接受的训练也各有不同. 我个人是不太赞成OO是开发主要思想这个论断的.
热心网友
时间:2022-06-22 17:37
聪明的程序员用DELPHI