Part 1: Foundations
While the IT industry prides itself on being at the very bleeding edge of technology, it also oversees a relatively high proportion of projects that fail outright or do not meet their originally intended goals for one reason or another. In Part 1, we will look at the reasons for software projects not achieving their intended objectives and how practicing Domain-Driven Design (DDD) can significantly help improve the odds of achieving success. We will do a quick tour of the main concepts that Eric Evans elaborated on in his seminal book of the same name and examine why/how it is extremely relevant in the age of distributed systems. We will also look at several popular architecture styles and programming paradigms and explore how DDD fits in the scheme of things.
This part contains the following chapters: