Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. COI used doctrine back then, didn't really liked it, it was big and heavy. However it was pre Doctrine2, I might give Doctrine a shot again. However I'm still more interested in the proper way of doing things than finding a ready solution. As for validation, thanks for bringing the SRP! I forgot about it at all and was not sure if I should insert another layer of Validation, now I'm sure I need :)
      singulars
    2. CODoctrine was based on Active Record pattern, Doctrine2 is exactly what you need for easier implementation of DDD. As I wrote on another similar post - home-built solutions usually end up as maintenance nightmare and Aggregate Roots become very manual. Usually every AR is done different way based which developer made it. Been there, trust me, you don't want to go that way ...
      singulars
    3. COI have "reinvent-the-wheel" syndrome. If I were asked to implement DDD at my work place with tight schedule I'd probably go with Doctrine. Since my question was raised from my personal project, in which I don't have strict dead lines, I prefer to learn as much as possible by implementing this stuff. I have a nice solution ATM but I'm afraid it will break as soon as Ill try to complicate it, so I'm considering Doctrine. Also AFAIK Doctrine does not support non DB storage (i.e. file based or noSQL databases), this might be an issue for the future (I'm sure writing a driver is not a problem).
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload