title: Exporting data files - which pattern to use
body: <p>I'm going to implement a data export system (downloading files from a website). The system shall provide following things:</p>
  
  <ul>
  <li>different data formats: xls, csv, etc.</li>
  <li>different report types (basic report, advanced report, report detailed on xxx,yyy, etc.)</li>
  <li>different time concerning the data</li>
  <li>different user accounts</li>
  </ul>
  
  <p>Which design pattern shall be used for such system? I was thinking about Abstract Factory, Factory Method and Builder patterns, but I'm not sure which one suits better here. I'd appreciate short explanation or simple model structure.</p>