Although this book is about EF Core, I want to include something about software architecture, as readers of the first edition of this book found it useful. You were introduced to the layered architecture in part 1. Now, in part 3, in which we are building a much more complex Book App, I’ll change the Book App’s software architecture to improve the separation of parts of the code and make the entity classes’ data more secure.
The most important of these architectural changes is swapping to the use of Domain-Driven Design (DDD), from Eric Evan’s book of the same name (Addison-Wesley Professional, 2003). The first version of EF Core added one new feature that EF6 didn’t have—backing fields—and that new feature makes following the DDD approach possible. Since the first edition of this book came out, I have used DDD a lot, both in client applications and in building libraries to handle DDD entity classes.