1. Traditional Object Oriented Programming encourages us to use classes for our business objects. Dependency Injection frameworks take us a few steps forward down these roads. Always use interface to create Business Objects models. This ensures implementation may be changed at later stage regardless of initial code. Ensures better decupling between software layers