在PHP中,使用一个拥有许多函数的长类是否会对性能产生影响?还是建议使用许多小类并在需要时单独调用它们?
我是面向对象编程(OOPS)的新手,请忽略问题中的任何愚蠢之处。谢谢。
在编写代码前最好不要考虑性能。从可维护性和易理解性的角度来看,当然是拥有更小的类和更小的方法更为优秀。(请参阅单一职责原则)
当您需要进行优化时,您确实可以将所有代码自动汇集到一个大文件中,并节省一些包含时间。
首先,考虑清晰的面向对象设计。
拥有大量方法和属性的非常长的类很难理解。
一组设计良好的类,具有有意义的类名、方法名和变量名,特别是在维护期间,非常容易理解。
通常,人们往往会创建过于庞大和复杂的类——这是因为很难看出内聚性边界在哪里。因此,当你刚开始并且有些不确定时,最好偏向于使它们变得更小:你总是可以将较小的类合并成一个更大的类……而将一个大类重构成几个小类则通常要困难得多。
只要它们与您正在创建的类的逻辑直接相关,您就可以并且应该将事物放在同一类中。如果遵循面向对象编程(OOP)的概念,类的大小并不重要。
就个人而言,我更喜欢根据类别将类分解为较小的文件。如果是针对业务对象,则我更喜欢使用'customer.class.php'、'account.class.php'等。
在我参与的大多数项目中,都是这样做的,然后是一个更大的“lib”或“common”文件,其中包含了许多在各个地方都使用的不同功能。
就记录而言,类的大小并不是需要考虑的重要部分。对于一个类来说,关键在于类之间的依赖关系。
例如,依赖于数据库的类应该被分离到一个特殊的类中,比如 Repository / Dao / Dal / Persistence 类。