
我对OOP的了解越多,我就会越发感到不仅每个人都了解OOP。 另一篇文章就是一个例子 。
在这里,您可以长时间描述以上文章中争论的荒谬之处。 但总的来说,整篇文章可以按如下方式删除。
下一个
随着软件复杂性的增加,需要隔离复杂性,将其分解成碎片。 切成碎片是行不通的,因为 连接零件会出现问题。 然后,聪明的人想到了:让我们隔离各个部分,以便外部部分很重要,而不是内部部分如何布置。 即 无需考虑机制,只需考虑合同。
面向对象
这就是所谓的OOP,从某种意义上说,正是复杂性的隔离导致了革命,因为 编写更复杂的程序成为可能。
其他一切都是从空到空的输血,包括所有知名和受尊敬的人的名言。 OOP的问题在于,他们最初考虑的是一件事,但随后从业者进来并根据自己的需要更改了所有内容,因为 程序不必在明天或后天编写,而在今天。 好,昨天。
OOP如今已成为对软件开发目标的误解的结果: 与复杂性作斗争 。 碰巧的是,大脑不能容纳系统的所有方面和部分,我们只能容纳一小部分。 因此,与复杂性的斗争是创造新范式的动力和动力。 而且,这可能是正确选择范例的标准:结果代码多么简单和易于理解。
合计
因此,编程的主要目的不是使用新的或老式的做法,而是在系统的每个部分中正确控制复杂性。
有用的链接:
[1] Joe Armstrong关于Elixir,Erlang,FP和OOP的内容 。 这是对OOP的初步了解,随后在C ++和Java的影响下进行了转换。 原始的OOP现在称为actor模型。
[2] 异步3:主观模型 。 从实践的角度来看,如何结合OOP和参与者模型,已经获得了包括先前模型在内的新范例。