Many times we have a functonality/behavior in our software applications which can be better achieved using a Design Pattern like you must have heard Singleton, Factoy, Facade etc.The benefit you get from design pattern is optimized code which is following the OOP principles and can take care of many issues like coupling, dependencies etc