首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们有时更喜欢拥有数据结构而不是对象?

为什么我们有时更喜欢拥有数据结构而不是对象?
EN

Stack Overflow用户
提问于 2018-11-03 04:40:27
回答 1查看 331关注 0票数 2

正如罗伯特·马丁的清洁代码所说:

对象将其数据隐藏在抽象之后,并公开对该数据进行操作的函数。数据结构公开它们的数据,没有任何有意义的功能。

但他也提到:

过程代码(使用数据结构的代码)使得在不更改现有数据结构的情况下很容易添加新函数。另一方面,OO代码可以在不改变现有函数的情况下轻松地添加新类。

以及:

..。这样的混合使添加新功能变得困难,但也使添加新的数据结构变得困难。他们是两个世界中最糟糕的。避免创造它们。

上面的混合表示数据结构和对象之间的混合。

但是,数据结构似乎存在冲突:使用数据结构的优点是更容易地添加函数,但对于数据结构,我们最好不要在其中添加函数。那么拥有数据结构又有什么意义呢?例如,DTO(数据传输对象)是使用数据结构而不是使用对象的例子之一。而且它总是一个很好的实践,不要在它中添加大量的逻辑。--但是为什么?

EN

回答 1

Stack Overflow用户

发布于 2018-11-03 07:45:59

你误解了鲍勃叔叔说的话。

使用数据结构的优点是更容易地添加函数。

不,应该是:分离数据结构和函数的优点是为了更容易地添加函数。

当数据结构和函数分开时,您可以添加一个新函数而不破坏旧函数。相反,当数据结构和函数被绑定到OOP中的类这样的单元中时,添加一个新函数(方法)将打破所有旧的单元/类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53128454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档