haskellでddd, cqrs, esのやり方を教えろください