What does Aspect-Oriented Software Development (AOSD) mean?
Aspect-oriented software development (AOSD) is a software design solution that helps address the modularity issues that are not properly resolved by other software approaches, like procedural, structured and object-oriented programming (OOP). AOSD complements, rather than replaces, these other types of software approaches.
AOSD is also known as aspect-oriented programming (AOP).
Techopedia explains Aspect-Oriented Software Development (AOSD)
AOSD features are as follows:
- Considered a subset of post-object programming technologies
- Better software design support through isolating application business logic from supporting and secondary functions
- Provides complementary benefits and may be used with other agile processes and coding standards
- Key focus - Identification, representation and specification of concerns, which also may be cross-cutting
- Provides better modularization support of software designs, reducing software design, development and maintenance costs
- Modularization principle based on involved functionalities and processes
- Because concerns are encapsulated into different modules, localization of crosscutting concerns is better promoted and handled
- Provides tools and software coding techniques to ensure modular content support at the source code level
- Promotes reusability of code used for the modularization of cross-cutting concerns
- Smaller code size, due to tackling cross cutting concerns
- Reduced efficiency from increased overhead