Development of an application framework using event sourcing with CQRS and DDD - Zima, Martin (2018)
The thesis develops a new software application framework with the use of event sourcing, command-query responsibility segregation and domain-driven design. First, it identifies typical application ar-chitectures used today and examines their weak spots. These discussed architectures are generally difficult to scale, integrate and test and their codebases are hard to maintain. In order to provide a better solution, the thesis thoroughly studies several emerging approaches to software design (event sourcing, command-query responsibility segregation and domain-driven design) and analyzes their potential in improvements of the old application architecture. The work discusses and proposes pos-sible approaches to their implementation. Consequently, an improved architecture for the new frame-work is specified. As a result, it delivers a complete software solution for writing enterprise server applications in C#/on .NET platform that are able to focus on the implementation of complex busi-ness domains and are able to deal with challenges of scalability, maintainability or integrations in service-oriented architectures. Finally, the author elaborates on the experience of using the frame-work in a real commercial software product.