Skip to content

pangsen/DDD

Repository files navigation

DDD

DDD,CQRS,ES Demo project

基本用法如下




var builderOption = BuilderOption
                .New()
                .RegisterDefault(typeof(UserCommandHandle).Assembly);

var resolver = builderOption.ServiceRegistration.CreateResolver();

//Command
var personId = Guid.NewGuid();
var bus = resolver.Resolve<IBus>();
bus.Send(new UserRegisterCommand { AggregateId = personId, UserName = "Sam Pang", Password = "Password" });
bus.Send(new CreateToDoCommand { AggregateId = Guid.NewGuid(), Title = "Todo Title", Description = "Todo Description", UserId = personId });
//Query
var userQueryService = resolver.Resolve<QueryService<UserReadModel>>();
var todoQueryService = resolver.Resolve<QueryService<ToDoReadModel>>();
var persons = userQueryService.GetAll();

persons.ForEach(a =>
{
    Console.WriteLine($"{a.Id},{a.UserName},{a.Password}");
    Console.WriteLine($"Dodo list count:{a.MyTodoList.Count}");
    a.MyTodoList.ForEach(t =>
    {
        var todo = todoQueryService.GetById(t);
        Console.WriteLine($"{todo.Id},{todo.Title},{todo.Description}");
    });
});

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages