Monolithic Alternatives: Use Case and Feature-Centric

Before we move on we need to clarify when consistency matters and when it’s more of a hindrance. The distinction runs between the macro level of the system where we want consistency through high-level building blocks that carry meaning, and the micro level of individual features where we should be free to vary the design.

A well-known example of this principle is microservices, which we’ll discuss in our next chapter. However, there’s a vast amount of design space between monolithic applications and microservices, and we don’t need to go full microservice to rescue a legacy codebase. The popularity of MVC—and its family of related, layered paradigms—means that many of us never get exposed ...

Get Software Design X-Rays 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.