通常、Symfony2 アプリケーションにはエンティティのコレクションがあります。DoctrineEntityManager
は、これらのエンティティを取得して永続化するために一般的に使用されます。
エンティティは、アプリケーション全体の複数の場所で使用されます。多くのエンティティ、およびエンティティごとに、特定のエンティティの処理と、サービスでのフェッチ/永続化をまとめることは理にかなっています。
たとえば、User
エンティティにはUserService
withfetchUser($user_id)
およびpersistUser(User $user)
メソッド (または単にfetch()
and persist(
) メソッドが存在する場合があります。これは単なる例です)。
アプリケーションは、エンティティのフェッチと永続化のために、多くのエンティティ指向サービスを使用することになります。このようなサービスは、インターフェースが似ていますが、処理されるエンティティのタイプが異なります。
アプリケーションに多数のエンティティ指向サービスを含めることができるというのは、よくある状況のようです。したがって、そのようなサービスの命名と設計の問題は一般的な問題です。
たとえば、新しいアプリケーションで baseEntityService
と childUserService
の作成が必要になると、そのような側面を処理する手段のようWidgetService
にProductService
クラスが反復的に感じられ、解決された問題になるはずです。
このようなエンティティ管理関連サービスを Symfony アプリケーションに導入するためのベスト プラクティスはありますか?
これは、おそらくよく踏まれた設計パターンに従って、解決されるべき問題のように感じます.
従うことをお勧めする命名規則はありますか?
私は、さまざまなアプリケーションで、「UserManager」と「UserService」の両方がサービス名として選択されていることを確認しました。優勢な慣習はありますか?