A cross-cutting concern is some software concern (synchronization, logging, memory allocation, NetworkTransparency?, UI preferences) that is for the most part outside of (and orthogonal to) the ProblemDomain a software component/module is concerned with, but important nonetheless. Many different techniques have been developed to deal with these--some good, some bad, some UgLy.
Techniques include:
A few bad techniques for dealing with CrossCuttingConcerns? include:
See also: VariationsTendTowardCartesianProduct
CategoryComplexity, CategoryInfoPackaging CategoryAspectOrientation