私はドメイン駆動設計アプローチ(hereと同様)を実装することを考えていますが、Doctrine ORMと統合したいと考えています。このようなことを誰かが成功させましたか?Doctrineをドメイン駆動設計で使用する
私の最初の本能はDoctrineをDAOレイヤーとして使用することでしたが、Doctrineがデータベースフィールドをマッピングするのに少し複雑で、エンティティオブジェクトがDoctrineオブジェクトの(同じく)フィールドセットにマッピングされています。
私の最初の目標は、すべてのDQL /クエリロジックをドメインエンティティから分離することでしたが、今はデザインパターンの土地で少し失われています。
私はDoctrine 2がDDDテクニックに対してはるかにフレンドリーなアプローチを提供するはずですが、私はそれを待っているとは思っていません。私がやりたいことは理にかなっているのですか、別のアプローチを見つけるべきでしょうか?
ありがとうございました。
ありがとうございました。私はこの反応が私の経験を完全に反映していると思います。ドクトリンのスクエアペグはDDDの丸穴に正しくフィットしていないようです。 Doctrine_Recordクラスをエンティティとして扱い、Doctrine_TableをDAOレイヤとして使用して基本的なRepositoryクラスを実装しました。リポジトリは時には少し冗長であると感じるので、私が望んでいた分離の大部分を私に与えてくれますが、それはちょっと不器用です。 –
Doomsrine2はData Mapperパターンを実装しており、EntitiesはPOPOであるため、DDDに最適であり、SRPを美しく守っているため、Googleからのこの回答につきものであり、これは時代遅れであることに気づく価値はないと考えました。 –