|
|
1
13
我不确定是否有一个商定的最佳实践,但在讨论条令或Zend框架时,我看到了很多关于服务层的讨论。 当我用条令启动我的应用程序时,我试图在实体对象中构建尽可能多的功能,但很快就意识到,如果不注入实体管理器,这几乎是不可能的,这完全打破了条令2如此出色的简单、非持久性感知对象的想法。
相反,请考虑应用程序中的不同层。条令是一个位于数据库之上的层,实体位于条令之上,服务层应该位于实体之上。整个包就是MVC中的M,它包括数据持久性和业务逻辑。 presentation 关于这个话题。
我最初错过了您提到的有单独的模型对象调用实体的部分。我认为这是一个可以接受的模式。如果您想编写测试而不进行数据库调用,那么您可能需要使用实体管理器的模拟——不管您将它放在哪个层,它都是一个依赖项。 |