0

如果您对我的聊天应用程序不厌烦...应用程序的主要部分,完成所有后端工作的部分位于“模型”目录中。该类被称为 AEDC_Model_Chat(AEDC 是命名空间),但这个特定的类实际上并不是一个“对象”。它永远不会被实例化,它只公开静态方法。

所以,我认为这实际上不是一个模型,也不属于“模型”。有什么想法吗?

4

1 回答 1

1

IMO,我认为基于静态的类驻留在 /models 目录中很好。在使用 Propel 和 Doctrine 时,它​​们(分别)具有 Peer 和 Table 类,它们永远不会被实例化,而是用于在与其关联的对象上实现业务逻辑。示例目录列表:

// Propel
/lib/model/mydb
    Vehicle.php // Instantiable
    VehiclePeer.php // Works with vehicle object(s)

// Doctrine
/lib/model/mydb
    Vehicle.php // Instantiable
    VehicleTable.php // Works with vehicle object(s)

- 更新 -

需要进行更正(不改变答案),关于原则,“*Table”类可以被实例化,但它们的行为仍然与我上面描述的相同,因为包含的方法旨在使用关联对象。您对“静态”类的使用更接近 Propel 的工作方式,正如我之前提到的,可以驻留在 /model 目录中。

于 2012-07-24T21:13:28.170 回答