你在Doctrine2和Symfony2中使用存储库吗?

时间:2012-06-16 15:43:42

标签: php oop design-patterns symfony soa

我正在尝试找到设计应用程序的最佳方式,并且正是我的域模型。

我看了大多数FOS * Bundle,他们抽象出这样的东西:

Model/
- AbstractUser.php
- AbstractUserManager.php
Entity/
- User.php
- UserManager.php

他们根本不使用Repository,所有工作都在Manager类中完成。

我曾经做过类似的事情但是以不同的方式。

我没有使用抽象和接口抽象域模型(它看起来肯定是要走的路)但我只有实体(FOS的主要目标是与存储无关并允许使用ODM或ORM)。

所以我有这样的结构:

Model/
- Entity/
-- User.php
- Repository/
-- UserRepository.php
Service/
- UserService.php

你敢打赌,UserService类似于FOS中的UserManager,但它主要是UserRepository的代理类。

你怎么看?

如何组织域模型,您有任何反馈意见吗?

FOS是时尚的吗?

1 个答案:

答案 0 :(得分:1)

对于我的捆绑包,我通常使用这种方法:

实体/

  • user.php的

存储库/

  • UserRepository.php

服务/

  • UserService.php