我将通过示例来解释这个问题:在 zend 框架中,当您想向视图类添加功能时,可以使用所谓的 Helper 类。
辅助类是具有一个方法(与类名相同)的类,该方法在每个视图中都可用(通过反射,辅助方法由视图方法包装)
它非常有条理和干净,但是,这意味着额外包括每个这样的助手和一些玩反射。这两件事对性能都有影响。
我的想法不是为每个要添加到视图中的方法开发一个 Helper(每个方法都在不同的文件中),而是编写一个带有 C 样式函数列表的助手(即不是类静态方法,实际函数),它可以是仅在 View 类中使用(因为 View 助手仅包含在 View 中)。
因此,这是将一些程序与 OO 混合,但性能优势是可见的,无论如何,帮助程序是通常不需要维护状态的单一方法......
有人会说:“所以用程序化,性能更好”,不,我很清楚 OO 的好处,除了这件小事,
那么,我应该坚持单一范式还是混合它们?