gpt4 book ai didi

oop - Object.Do something() 或 Do something With(Object)

转载 作者:行者123 更新时间:2023-12-04 13:01:09 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

4年前关闭。




Improve this question




这可能只是一个偏好问题,但是,我很想知道何时使用这两种方法的最佳实践方法是什么。

例如

var person = new Person();
person.Run();


var person = new Person();
Excercise.Run(person);

上面的例子可能不是最好的,但我的一般观点是你应该什么时候决定给对象而不是另一个类的责任?

最佳答案

不要为你的对象做事。他们在那里为你做事。

这听起来很简单,但这是一个有用的格言。这意味着(正如您所确定的)在对象上调用方法,它将使用所有可用的知识来产生结果。它加强了职责的封装和分离/包含

没有发生这种情况的一个指标是这样的代码:

priceBond(bond.getPrincipal(), bond.getMaturity(), bond.getCoupons(), interestRate)

债券对象将其所有信息提供给某个第三方的地方。像上面这样的代码最终会在任何地方重复。而是写
bond.priceBond(interestRate)

并将所有信息捆绑在一个对象中。

如果您的对象受到大量 getter 的影响,那么这可能表明您的对象没有做他们应该做的事情。

关于oop - Object.Do something() 或 Do something With(Object),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1062656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com