对不起,如果是一个虚拟问题,但我不是很清楚它。使用php将工厂模式集成到mvc中是一种很好的做法。例如,我可以使用以下库结构:
index.php
--init
--abstract factory class for models
--models
--model extend factory class
--controllers
--views
答案 0 :(得分:1)
这里需要注意的一点是,模型不应该从工厂扩展,而是通常直接使用工厂,而这应该返回初始化的模型。例如。想象你有一个冷冻比萨饼(模型)和一个烤箱(工厂);而不是直接吃冷冻的比萨饼,你先使用烤箱,然后从中获得实际可食用的比萨饼。对于非常复杂的烤箱类型(读取,如果对象创建过程涉及很多),工厂模式是有意义的。
除此之外,如果您觉得它对您的需求有用,则没有理由不使用该模式。我通常直接将工厂包括在我存储模型的地方,因为它们彼此强烈依赖(例如,没有另一个就不能工作),但这只是我想的味道。
最后一个提示:当你真的认为你需要它们时使用模式,而不是因为它们听起来很花哨。如果您认为不使用工厂模式可以让您的生活更轻松,并且可以更快地完成项目,那么一定不要使用它。这并不是说你不应该探索新模式,而是要合理化实现和维护它们的时间和精力是否合理。