OOP defines an application a s a set of co lla borating objects. OOP code scatters sy ste m level code like security, logging etc w i th the business logic code.
|
AOP defines at t he complex softw a re s y stem a s combined implementation of multiple concerns like data persistence, busine ss logic, logging, securit y , multithread s afet y , e rro r handling, and so on. Separ ates business rules code from t he sy stem level program . In fact one concern remains una w are o f other rule s.
|
OOP nomenclatu re has o bjects, classes, interfaces etc.
|
AOP nomenclatu re has advice, point cuts, join points, and aspects.
|
Gives benefits such as code reuse, flex ibility , im proved maintainability , modular architect ure, red uced development time etc w i th th e hel p of e ncapsulation, inheritance and pol y mo rphism.
|
AOP implementa tion exists w i th the OOP b y cho osing OOP as the base language. E.g : Aspect uses Java as the base languag e.
AOP give s be nefits p rovided by OOP plus som e additional benefits.
|