Aspect (computer programming): Difference between revisions

Content deleted Content added
rm misleading wiki link
mNo edit summary
Line 6:
One view of [[aspect-oriented programming]] (AOP) is that every major feature of the program, core concern (business logic), or [[cross-cutting concern]] (additional features), is an aspect, and by [[aspect-oriented programming#Weaving|weaving]] them together (also called composition), you finally produce a whole out of the separate aspects. This approach is known as pure aspect programming, but hybrid approaches are more commonly used, perhaps since there is less of a paradigm shift between object- and aspect-oriented programming. There is a similar situation with early aspect software development (e.g., requirements), with traditional methods being enhanced for aspect-orientation and new models proposed. Non-functional concerns (e.g., security) can crosscut functional concerns (e.g., door must be present). It is possible for functional concerns to crosscut non-functional or functional concerns (e.g., need for more features harms mobility). A uniform approach to representation and composition, similar to the pure approach in AOP, is termed multidimensional representation.
 
The prism (optics)|prism analogy describes aspects with terms from the ___domain of light. Like splitting light into its many aspects (different colours) with a prism, you split a problem into its separate aspects. With another prism you can put the different colours back into a white ray of light, and by the process of weaving aspects you can put your solutions for the different aspects of a problem back into a solution for the whole problem.
 
== See also ==