Buzzword Buster – Cross-Cutting Concern


A Cross-Cut­ting Con­cern is a con­cern your appli­ca­tion needs to address that is unre­lat­ed to your application’s prob­lem domain, and ‘cuts across’ oth­er con­cerns. Typ­i­cal exam­ples include:

  • log­ging
  • per­sis­tence
  • secu­ri­ty
  • error han­dling

They are usu­al­ly dif­fi­cult to decom­pose from the rest of the sys­tem and result in tan­gled code. Address­ing these cross-cut­ting con­cerns will add a lot of boil­er­plate code into your appli­ca­tion, increas­ing both the size and com­plex­i­ty of your code.

To ease the pain of deal­ing with cross-cut­ting con­cerns in our appli­ca­tions, Aspect Ori­ent­ed Pro­gram­ming (AOP) was born and frame­works such as Post­Sharp (which I’ve blogged about already) pro­vides an effec­tive way of intro­duc­ing AOP into .Net appli­ca­tions.