title: How to build Object Oriented Skills?
body: <p>Being a core developer for couple of years, coding applications seeing the class diagrams, sequence diagrams, I decided to improve my self, taking the next step of designing.
  As I'm an OO developer, I'm interested in improving my design skills.</p>
  
  <p>For Example, I had a hard time designing a currency converter. </p>
  
  <p>My questions to the SO:</p>
  
  <ul>
  <li>Is it by experience the design skills
  can be acquired?</li>
  <li>Will learning books/blog/material
  over internet etc help?</li>
  <li>Is it that one needs the domain
  knowledge of the application being
  developed?</li>
  <li>Knowing Design patterns, principles?</li>
  <li>Studying 'Code Complete' book ?</li>
  <li>Need to have Problem-solving skills?</li>
  </ul>
  
  <p>In short, given a problem, I just want to solve it in Object-oriented way??</p>