I saw lots of articles regarding DDD and many patterns described in 'Patterns of Enterprise Application Architecture' By Martin Fowler book, yet i need DEVELOPMENT GURUS on stackoverflow help to understand few things.
What Is the main (methods and functionalists)=concerns that should be included in each of DDD components like (repository, aggregate root) and should it delegate it to other object ?
Aggregate Root Object eg. FaceBook , User is an aggregate roots that holds objects of UserObject(you),postObjects(posts you created),pictureOBJects; does the WORD Holds means it Hold it in its internal states ? or just that it hold a function that direct you to another Repository method including your id for example ?
cause if the Aggregate root hold aggregated objects in its internal state then what happens when an object is needed in more than 1 root ? (pictures also belongs to photoGallery),,, grrrrr I'm confused !
please describe for example Facebook(or any other webapp) domain design so noobs like me can establish an Ubiquitous Language between expert developers and us :)