Separation of Concerns

Back to Concepts

An important concept in programming is separation of concerns (SoC): things that are unrelated in a system should not have to be modified together. For instance, a modification in the user interface should have no incidence on the database, and vice-versa. Implementing this concept allows you to define, develop and process one concern of the application while reducing unpredictable and undesirable side-effects on other concerns. As a result, SoC makes it easier to design and manage complex, interdependent systems because it improves understandability, simplifies maintenance, promotes reuse and facilitates optimization.

The Rep++ model supports SoC since the metadata can be organized to reduce interdependence within a system. The Rep++ frameworks also contribute to separation of concerns in multitier applications by separating the business logic from the presentation.