【发布时间】:2010-12-31 09:43:21
【问题描述】:
在 PHP 中,使用一个包含很多函数的长类对性能有影响吗?还是建议使用许多小类并在需要时单独调用它们?
我是 OOPS 的新手,请忽略问题中的任何愚蠢。谢谢。
【问题讨论】:
-
我认为应该进行全校范围的投票,看看我们能得出多少百分比。不仅如此,还要计算统计数据会在执行任何操作之前出现。好吧,这只是我的观点(:
在 PHP 中,使用一个包含很多函数的长类对性能有影响吗?还是建议使用许多小类并在需要时单独调用它们?
我是 OOPS 的新手,请忽略问题中的任何愚蠢。谢谢。
【问题讨论】:
建议在获得代码之前不要考虑性能。从可维护性和可理解性的角度来看,当然,较小的类和较小的方法是优越的。 (见The Single Responsibility Principle)
当您需要优化时,您确实可以(自动)将所有代码组装到一个大文件中,并在 include-s 上节省一些时间。
【讨论】:
首先,考虑干净的 OOP 设计。
包含很多方法和属性的很长的类很难理解。
一组精心设计的类,具有有意义的类名、方法名和变量名,非常容易理解,尤其是在维护期间。
【讨论】:
一般来说,人们倾向于创建太大而复杂的类——这是因为通常很难看出内聚边界在哪里。因此,当您刚开始并且有点不确定时,最好将它们设置得太小:您总是可以将较小的类合并为一个较大的类……将一个大类重构为几个小类通常要困难得多那些。
【讨论】:
您可以并且应该将事物放在同一个类中,只要它们与您正在创建的类的逻辑直接相关。如果您遵循 OOP 概念,那么班级的规模并不重要。
【讨论】:
就我个人而言,我更愿意根据它们的用途将这些类分解成更小的文件。如果那是业务对象,那么我更喜欢使用 'customer.class.php' 'account.class.php' 等。
在我参与过的大多数项目中,它都是这样的,然后是一个更大的“lib”或“common”文件,其中包含许多在各处使用的各种函数。
【讨论】:
为了记录,大小不是一个类中要考虑的重要部分。类的关键是类的依赖关系。
例如,依赖于数据库的一个类应该被分隔在一个特殊的类中,例如 Repository / Dao / Dal / Persistence 类。
【讨论】: