Jump to content

Concern (computer science)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Korpo~enwiki (talk | contribs) at 06:53, 26 May 2003. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

A concern is a problem or thing you worry about or care about.


In programming a concern is a problem your program tries to solve, whereby a core concern is one of the reasons that program is written (such as credit card billing or sending email), and cross-cutting concerns are aspects of a program, that do not relate to the core concerns directly, but are needed for proper program executions.

Separation of concerns (SOC) is an important goal in program design. As long as calls to cross-cutting concerns such as logging, object persistence, etc. are simply put everywhere into the source code where needed this leads to a highly coupled system that is hard to change. Because every time you change a feature of these cross-cutting concerns, you may need to recompile a lot of source files and check a lot of calls for consistency. And every time you change the signature of an operation, you have to change all calls to that operation, again touching many separate source files.

Isolating these cross-cutting concerns is the goal of Aspect oriented programming.