<分区>
如标题所述;与例如 Java 相比,用 PHP 对类进行分组的方式应该有所不同吗?我目前正在阅读 O'Reilly 的书 OOA&D,在这些章节中,我学会了为每个特定任务使用一个类,而不是为一组事物使用一个类。最近,我查看了一些日历代码,这个类有数千行,里面包含了要使用的所有内容。然而,这对我来说似乎违反了让许多对象执行一项任务的观点,但鉴于 PHP 是 Web 开发,它应该有所不同吗?例如。怪物类。
<分区>
如标题所述;与例如 Java 相比,用 PHP 对类进行分组的方式应该有所不同吗?我目前正在阅读 O'Reilly 的书 OOA&D,在这些章节中,我学会了为每个特定任务使用一个类,而不是为一组事物使用一个类。最近,我查看了一些日历代码,这个类有数千行,里面包含了要使用的所有内容。然而,这对我来说似乎违反了让许多对象执行一项任务的观点,但鉴于 PHP 是 Web 开发,它应该有所不同吗?例如。怪物类。
最佳答案
答案:使用良好的设计原则,即使在 PHP 中也是如此。
除了不创建 Monster 类(也称为 God 类或对象)之外,以下模式特别值得一提:
private
,除非你有充分的理由不这样做,在这种情况下,使用protected
。几乎总是你应该避免public
。A somewhat outdated article on PHP design patterns that's still worth reading但对眼睛来说很难看。
精简版:
如果您曾经依赖数组来保存特定结构,那么它可能应该在一个类中。
我生活中的一个例子:ActiveRecord
如果我想构建一个不需要任何特定 Active Record 实现的网站怎么办?目前,一旦我选择了一个实现,我就会陷入困境,因为它们都是如此独特。如果他们真的实现了一个 ActiveRecordInterface
,如果我想改变,我就可以换掉我实际的 ActiveRecordEngine
。
关于java - 分组类的方式与 PHP 不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7640588/