title: Is circular dependency good or bad
body: <p>I need to know why we need to avoid circular dependencies?
  In the real world if we think, circular dependencies are pretty much important. Like one friend needs something from other friend and the other needs something from this friend, so its kind of circular right?</p>
  
  <p>Then why is circular dependency a bad design?
  If we really need to avoid this then what is the best possible design in Object oriented world for such a situation?</p>