Oop 有多少对象太多了?
在设计应用程序时,是否会出现对象过多的情况?当您想知道“这到底是一个什么样的对象?”时,您如何确定您何时越过了对象模型的粒度线Oop 有多少对象太多了?,oop,Oop,在设计应用程序时,是否会出现对象过多的情况?当您想知道“这到底是一个什么样的对象?”时,您如何确定您何时越过了对象模型的粒度线 我最近有一个“Bet遗忘者”类,我在另一个类中将其重构为两行代码。我不确定整个项目的范围内的答案是什么,但我通常可以看出,如果两个类相互依赖太多,作为一个类可能会更好。不仅对象太多,而且复杂性太高,休息一天后,当我觉得读不懂代码时,我就意识到了这一点。我想说,您可能应该更担心对象/类太少。是值得遵守的,因为它通常会导致更干净、更可读的代码。没有硬性规定,但基本上取决于程
我最近有一个“Bet遗忘者”类,我在另一个类中将其重构为两行代码。我不确定整个项目的范围内的答案是什么,但我通常可以看出,如果两个类相互依赖太多,作为一个类可能会更好。不仅对象太多,而且复杂性太高,休息一天后,当我觉得读不懂代码时,我就意识到了这一点。我想说,您可能应该更担心对象/类太少。是值得遵守的,因为它通常会导致更干净、更可读的代码。没有硬性规定,但基本上取决于程序员的判断。
但是作为一般的经验法则,如果你把时间浪费在为最小的操作编写类上,那么这对很多人来说都是非常复杂的。
如果你写的代码太多,那就太少了。我认为在不知道你的问题的情况下回答你的问题是不可能的 这在很大程度上取决于您试图用应用程序解决的问题
伊拉姆比兰加绝对正确。如果你开始为你遇到的所有东西创建对象,你很快就会想知道你能给它们什么用,为什么你要花时间来创建它们。这可能是另一个问题的症状 只要您有良好的项目、名称空间和/或目录组织,以及合理的命名约定,您就应该能够轻松地处理任意数量的类
PS-我假设你所说的“对象”是指“类”。你永远不会拥有太多的类,问问任何一个像样的Java程序员。我假设你谈论的是类型,而不是对象(我知道它被称为对象模型,但它确实是所涉及类型的模型) 无论如何,如果您接受单一责任原则,即每种类型只应处理单一责任,那么类型的数量将随着应用程序的增长而增加 但是,由于每个类型的大小有限,它们应该相当容易理解,并且假设您有某种结构,您应该很少(如果有)需要一次查看所有类型
管理大型软件项目就是把事情分解成可管理的部分,并以合理的方式给它们贴上标签。如果你这样做,类型的数量在我的经验中就变得不那么重要了。一个具有适当OO设计、拥有数百个对象的项目,其状态要比一个拥有较少单一类的项目好得多。一根字符串有多长?(从中间到末端长度的两倍,但在点旁边) 我认为这真的取决于你在写什么以及你是如何写的。对象的数量是一个糟糕的指标,您应该担心对象模型的复杂性,而不是您有多少对象。你需要问的是你的对象有多紧密地结合在一起 如果您有100个不同类型的Bird对象,所有这些对象都实现了一个接口,并且共享的方法都在一个抽象类中,那么您没有太多的对象,因为您可能需要每个Bird执行不同的操作 但是,如果您有一堆实现相同代码的对象,那么您有太多的对象,可以重构为更少的对象 类似地,如果您有一个包含大量不同功能的大型类,那么您的类就太少了 除非您有做相同事情的类,或者正在复制框架中其他类已经做过的事情,否则就可以了
记住,仅仅因为你可以使用继承并不意味着你必须这样做,组合通常会更好。我怀疑如果你谈论太多类型,问题会更清楚——否则听起来像是担心在执行时创建数百万类型实例的效率。确实如此,但我们仍然能得到它,因为我们的开发者很聪明!尽管如此,我还是认为这是相对于对象实例的问题。这里的线索是“粒度”一词——如果每个人都是一个好的沟通者的话。1方法?静态void-ForgetBet(Bet-Bet){Bet.forged=true;}