关于为什么 OOP 是正确的或者它在哪里工作等有很多问题,所以这是其中之一,但是我是从内核的角度来问它以及为什么它不用作示例。
内核主要是用 C 编写的。它几乎不使用 OOP 。关于 OOP 的普遍共识是,它是编程中的最佳范例(大多数是许多新手),但内核尽管是最具挑战性的编程领域之一,但并不使用 OOPS。
所以我想知道 OOP 在什么情况下可以工作以及为什么它不能用于 Kernel 之类的东西?我试图从工程角度了解它在某些情况下起作用的原因。你可以说 GUI 编程可能会受益于 OOP - 根据我的理解,原因是你将创建一个特定事物的多个案例,并且你可能会操纵它们 - 因此具有相同行为的不同状态是有意义的。
在更高的层面上,在哪些情况下 OOP 可以被视为自然选择,而在哪些情况下它只是过度设计?我很高兴得到关于这个问题的指示,因为这个问题已经在很多地方讨论过。
PS:我正在寻找工程方面的工作。我理解这个问题很广泛。任何有用的指示都会很好。
最佳答案
早在 OOP 成为头条新闻之前,大多数 Unix 内核就在各种子系统中使用类似 v-table 的调用调度。例如,看看 VFS 层如何处理不同的文件系统类型。
关于oop - 为什么我们可以/不能将 OOP 概念同样多地应用到内核编程中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21751404/