Seperation of Concerns
Seperation of concerns (SoC) is a key software design principle that mainly states;
- different concerns of your design should not be colocated,
- meaning that different concerns should be clearly isolated with boundaries.
Then what is a concern ?
A concern is a way of grouping of items in a specific software development scope.
For example;
- In the context of object-oriented programming languages such as Java, the concerns are seperated into objects.
- When the context is of service-oriented design, then the concerns are seperated into services.
- In the architectural design patterns such as MVC, we seperate concerns into a kind of grouping: model, view and controller.
- The question of why we put the css styles into seperate files is another good example of seperating concerns of styling from the content.
- In a modular software program, different modules are seperated concerns in a way.
The idea of seperating responsilities in Single Responsibility Principle (SRP) of SOLID principles can be thought as related with SoC.
- different concerns of your design should not be colocated,
- meaning that different concerns should be clearly isolated with boundaries.
Then what is a concern ?
A concern is a way of grouping of items in a specific software development scope.
For example;
- In the context of object-oriented programming languages such as Java, the concerns are seperated into objects.
- When the context is of service-oriented design, then the concerns are seperated into services.
- In the architectural design patterns such as MVC, we seperate concerns into a kind of grouping: model, view and controller.
- The question of why we put the css styles into seperate files is another good example of seperating concerns of styling from the content.
- In a modular software program, different modules are seperated concerns in a way.
The idea of seperating responsilities in Single Responsibility Principle (SRP) of SOLID principles can be thought as related with SoC.
Yorumlar
Yorum Gönder