我读过很多人说有些东西不应该以面向对象的风格编写——作为一个从 C 背景学习 OO 风格的人,他们这是什么意思?
什么不应该是面向对象的,为什么有些东西更适合这个设计,我们怎么知道什么时候做什么最好?
最佳答案
现实世界充满了对象。
让软件世界与现实世界相匹配是很有帮助的。
“‘系统实用程序’呢?它们只处理像套接字、进程和文件系统这样的抽象。”它们对我来说听起来很像。他们有属性和行为,他们有关联。
如果您正在寻找 证明 OO 更好,没有。没有什么是更好的,因为更好是一个非常模糊的术语。任何聪明的人都可以编写任何风格的任何程序。您可以采用函数式、程序式、面向对象式或任何您喜欢的方式。
我使用 OO 是因为我的大脑很小,必须学会在其范围内生活。 OO 是帮助我在编程中挣扎的拐杖。如果我更聪明、更富有、更漂亮,我就不需要帮助了,我可以编写非面向对象的程序。可惜,我不聪明。如果没有类定义来隔离职责和构建架构,我仍然会编写单文件“hello world”变体。
关于oop - 什么应该是OO,什么不应该?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/178262/