title: Why do we need Abstract factory design pattern?
body: <p>Most of the definition says: </p>
  
  <blockquote>
    <p>An abstract factory provides an
    interface for creating families of
    related objects without specifying
    their concrete classes</p>
  </blockquote>
  
  <p>What is the use of Abstract Factory Pattern as we can achieve the task via creating object of concrete class itself. Why do we have a factory method that creates object of Concrete class?  </p>
  
  <p>Please provide me any real life example where I must implement abstractFactory pattern? </p>