Nowadays Design Patter is not only the task of software architects but also the necessary knowledge of programmers. Only by having a thorough grasp of design pattern the programmers can implement the complex software without causing a lot of bugs which will require a lot of time to fix at the maintaining period. Dependency Injection is a well-known pattern used frequently in developing environment. I think you did use this pattern already just don’t know its name. You can find a lot of books out there discussing about it, for example this Dependency Injection book. In this small blog I do not intend to write a long, loong, looong research about this pattern. I just give some code to demonstrate what Dependency Injection is.