ddd hexagonal cqrs es eda