by Angela Guess
A recent article addresses the idea of positive complexity when it comes to representing data in multiple data models. It begins, “Many of today’s apps are built around a single data model, typically persisted to a data store via an object-relational mapper (ORM) tool. But sometimes—for several different reasons—you may need more flexibility, which requires multiple models. In this article, I’ll discuss some strategies you can use to handle these situations and develop more layered and robust applications.”
The article adds, “Using different models clearly makes the whole application more complex, but it’s a sort of necessary, positive complexity that makes the whole project more manageable. Understanding when one model of data just doesn’t fit all use cases is the challenge for the architect.”
It goes on, “Different parts of a software application may have their own model of data. The way in which you represent data at the UI level is different from the way in which you organize data in the middle tier, and it may be even different from how the data is physically persisted in some data store. But, for many years, developers used just one model of data, regardless of the part of the application involved. Many of us have grown with relational databases and their related modeling techniques. It was natural to spend a lot of effort in elaborating a model based on relations and normalization rules.”

















