Why use domain-driven design
Posted By Martin Havlišta
Posted By Martin Havlišta
Posted By Martin Havlišta
This article is for the legacy CoreDdd version 1.7.1.1. There is a newer CoreDdd version 3, with a documentation and code samples. Newer blog posts about CoreDdd are here. Also this tutorial uses London style TDD which I used at the point of writing this article (~2012), but since then I switched to Chicago style TDD, and now I consider the TDD code samples in this article a legacy code.
In a previous article you can read more about a motivation behind CoreDdd library. Application we are going to build on CoreDdd library is an e-shop, source code here. Initially it’s going to be a simplified version, but agile process enables you to iteratively add more features, DDD/TDD/CQRS/patterns & principles ensure not to plunge into a spaghetti waterfall code, and as you learn the business/domain as you go along, you can safely refactor if required and take the project to a more mature version. Initial version of the e-shop application would contain:
More …Back in 1994 when I was 14 my parents asked me if I want a video player or a computer. So I got a PC, 286, 12 MHz, EGA graphics with 16 bloody colours. Everybody was playing Doom except me. After completing all sorts of 16 coloured games distributed on faulty 3.5” diskettes, I became bored. A friend of mine installed Turbo Pascal on my machine, and I was started. Later I learned C/C++, Java, wrote couple of university projects in it, and at last C#/.NET - a language and a platform of my choice.
More …