oop - 什么应该是OO,什么不应该?

标签 oop

我读过很多人说有些东西不应该以面向对象的风格编写——作为一个从 C 背景学习 OO 风格的人,他们这是什么意思?

什么不应该是面向对象的,为什么有些东西更适合这个设计,我们怎么知道什么时候做什么最好?

最佳答案

现实世界充满了对象。

让软件世界与现实世界相匹配是很有帮助的。

“‘系统实用程序’呢?它们只处理像套接字、进程和文件系统这样的抽象。”它们对我来说听起来很像。他们有属性和行为,他们有关联。

如果您正在寻找 证明 OO 更好,没有。没有什么是更好的,因为更好是一个非常模糊的术语。任何聪明的人都可以编写任何风格的任何程序。您可以采用函数式、程序式、面向对象式或任何您喜欢的方式。

我使用 OO 是因为我的大脑很小,必须学会在其范围内生活。 OO 是帮助我在编程中挣扎的拐杖。如果我更聪明、更富有、更漂亮,我就不需要帮助了,我可以编写非面向对象的程序。可惜,我不聪明。如果没有类定义来隔离职责和构建架构,我仍然会编写单文件“hello world”变体。

关于oop - 什么应该是OO,什么不应该?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/178262/

相关文章:

python - 如果构造函数参数无效,如何返回 None

language-agnostic - 我应该实例化一个集合还是从集合继承?

python - Python 中的 `type()` `__class__` 和 `__bases__` 有什么区别?

javascript - Javascript 中的委托(delegate) VS 连接

java - 类的不同方法更改成员数据与全局变量有何不同

javascript - 为什么我们使用 "prototype"属性向构造函数实例添加方法?

java - 以 java OOP 风格处理 SQL 数据库连接的正确方法

java - Java中的最终接口(interface)?

php - 什么时候在 php 中使用静态变量/函数?

java - 为什么Java中没有局部静态变量?