The Genius of Spring
IoC + AOP
Dependency Injection = component assembly
= implementation injection (implementation substitution)
= testability (stubs)
= composability
= extensibility
AOP = change (unanticipated requirements)
= infrastructure use cases
= scattering
= tangling
= insufficient modularity
= environment implementation instead of module by module implementation (e.g., DBC contract checking)
Both together enable component based development, test driven development, very high modularity. At a higher level, enable system features that are very difficult to provide on a module by module basis.
Recent Comments