Cross-cutting concern
From Wikipedia, the free encyclopedia
In computer science, cross-cutting concerns are aspects of a program which affect (crosscut) other concerns. These concerns often cannot be cleanly decomposed from the rest of the system in both the design and implementation, and result in either scattering or tangling of the program, or both.
For instance, if writing an application for handling medical records, the bookkeeping and indexing of such records is a core concern, while logging a history of changes to the record database or user database, or an authentication system, would be cross-cutting concerns since they touch more parts of the program.
[edit] Literature
- Kiczales, G., J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J.-M. Loingtier, J. Irwin (1997): Aspect-Oriented Programming, in: Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP 1997), Jyväskylä, Finland, Lecture Notes in Computer Science 1241, Springer-Verlag, 220-242
- Laddad, R. (2003): AspectJ in Action, Practical Aspect-Oriented Programming, Manning Publications Co.
- Murphy, G.C., R.J. Walker, E.L.A. Baniassad, M.P. Robillard, A. Lai, M.A. Kersten (2001): Does Aspect-Oriented Programming Work?, in: Communications of the ACM, October 2001, Vol. 44, No. 10, 75-77
- Parnas, D.L. (1972): On the Criteria To Be Used in Decomposing Systems into Modules, in: Communications of the ACM, December 1972, Vol. 15, No. 12, 1053-1058
- Tarr, P., H. Ossher, W. Harrison, S.M. Sutton Jr. (1999): N Degrees of Separation: Multi- Dimensional Separation of Concerns, in: Proceedings of the 21st International Conference on Software Engineering (ICSE 1999), Los Angeles, California, USA, IEEE Computer Society Press, 107-119
[edit] External links
- AOSD.net's glossary of aspect oriented terms.
- AspectJ [1], an Aspect-Oriented extension to the Java programming language
- Azuki Framework an application framework implementing cross-cutting concern inside bean components.
- Bergmans, L., M. Aksit (2001): Composing Multiple Concerns Using Composition Filters, http://trese.cs.utwente.nl/ (24 July 2004)
[edit] See also
- Aspect-oriented software development
- Database Normalization (minimize needlessly replicated data)
- Functional normalization (object-oriented programming)
- Orthogonalization (mathematical normalization)
- Refactoring (restructuring software)
- Aspect-oriented programming
- Service-Oriented Modeling Framework (SOMF)