12

Understanding Layering

In this chapter, we explore the inherent concepts behind layering. Layering is a popular way of organizing computer systems by encapsulating major concerns into layers. Those concerns are related to a computer vocation such as data access instead of a business concern such as inventory. It is essential to understand the concepts behind layering as other concepts were born from layers, and they are very common.

We start this chapter by exploring the initial ideas behind layering. Then, we explore alternatives that can help us solve different problems. We use both anemic and rich models and expose both pros and cons in action. Finally, we quickly explore Clean Architecture, which is what I call an evolution of layering. ...

Get An Atypical ASP.NET Core 6 Design Patterns Guide - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.