在将代码分成相关类时,我知道OOP的强大功能。但是,什么时候应该将我的代码分成几类?
我认为更多的类需要更多的对象来从这些类中调用一些方法。这是过度使用记忆吗?
答案 0 :(得分:4)
通常按照单一责任原则将您的代码分成更多类。
每个班级应该只做一件事。
如果您的课程做得太多,请将其分成不同的课程。
尝试在互联网上搜索单一责任原则,以获得一些不错的例子。
通常问题与内存无关,而与编程错误无关。即使对于对此一无所知的人,代码也应易于阅读。只有当您是一名非常高级的程序员并且您的代码需要这些增强功能时,才尝试提高性能。
有5个设计原则。可以记住它们的首字母缩略词SOLID:
在这里,我只讨论了单一责任原则。
设计模式更贴近代码。模式是经常出现问题的解决方案。相反,原则是遵循驱动代码设计的想法。您会发现许多模式可以拆分您的代码以解决特定问题。所有这些都遵循指南,为每个班级保持一个单一的责任。
就像开始一样,我添加一个链接到一个很好的网站,详细解释每个原则和许多模式。 Link
答案 1 :(得分:1)
将每个班级视为现实生活实体。
例如,如果您正在创建库管理系统,将会有一个名为Library的类,它将包含一个List变量,该变量基本上包含“Book”类的对象列表。你必须以这种方式思考。虽然它非常简单,但你必须以这种方式思考。
内存取决于您创建的对象数量。更多对象需要更多内存
答案 2 :(得分:0)
在java中,您从类中实例化一个对象只是为了澄清一些基本术语。 oop中的Object是一个概念对象,有点像你应该将你的代码组织成相关的实体,以便使用其他人在他们的答案中提到的原则(如继承,封装等)更容易维护和适应未来的变化
您可以随时了解现实生活中的概念,您可以更轻松地将单个厚文件中的文档随机放在一起,或者在相应的类别等文件中找到文件。
答案 3 :(得分:-1)
也许以粒度来制作对象我们可以使用flyweight模式。对于那个模式我们可以将常用代码移动到公共对象和辅助方法。这将有助于我们节省内存。
THX