Concern is any piece of interest or focus in a program, in other meaning it is features or behaviors of the program.
Cross cutting concerns this concern of program which affects other concerns, these concerns often can’t be cleanly decomposed from the rest of the system in both the design and implementation. For example Security, Logging of the system, in other meaning our system won’t work alone with security and logging but with the core business logic concern. So we use cross cutting concern to integrate with core concern to get the overall functionality of the system. At the end we can say that cross cutting concerns likes the secondary concerns where the main business goals will be the primary concerns.
Separation of Concerns is the process of separating a computer program into distinct features (Concerns) that overlap in functionality as little as possible, layered designs in information systems are also often based on separation of concerns (e.g. presentation layer, business logic layer, data access layer, database layer). The goal is to design systems so that functions can be optimized independently of other functions so that failure of one function does not cause other functions to fail, and in general to make it easier to understand, design and manage complex interdependent systems.
All programming languages apply separation of concern concepts in its architecture like:
· Object-oriented programming à objects
· MVC àseparate content from presentation
· Service oriented design à separate in services
· Procedural programming à procedures
· Aspect oriented programming à aspects and objects

No comments:
Post a Comment