Streszczenie:
This thesis concentrates on the usage of Domain-driven design, a software development methodology created to manage the implementation and maintenance of applications written for complex business domains. The first part focuses mainly on why DDD appeared and what problems it is supposed to solve. Additionally, there is an analysis of the drawbacks and benefits of applying DDD in the projects and recommendations where it should be used and avoided. Secondly, in the following part, this work elaborates on different practices, patterns and principles DDD consists of, evaluates their usages and presents implementation examples written in Java for Spring and Hibernate frameworks. In the final part, there is research on how DDD can be used with commonly applied architectural styles, together with an analysis of the advantages and disadvantages of each approach and code fragments of their possible implementations.