Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Over the years, we have accumulated a series of architecture styles and programming paradigms to help us deal with system complexity.
In this chapter, we will examine how Domain-Driven Design (DDD) can be applied in a manner that is complementary to these architecture styles and programming paradigms. We will also look at how/where it fits in the overall scheme of things when crafting a software solution.
In this chapter, we will cover the following topics:
- Architecture styles
- Programming paradigms
- Which paradigm should you choose?
By the end of this chapter, you will have gained an appreciation of a variety of architecture styles and programming paradigms, along...