title: The best design for a command-line tool
body: <p>It's a simple task, let me briefly describe it!</p>
  
  <p>I'm supposed to code a command-line tool that takes a file-name as an argument, the file
  that I'm gonna read consists of lines, each line supposed to be a <em>command</em> to execute, the command is followed by it's appropriate arguments to apply on, to make it clear:</p>
  
  <pre><code>FILE
  
  sum; 1, 2, 3, 4
  
  Output
  
  10
  </code></pre>
  
  <p>The command-line tool should satisfy those requirements:</p>
  
  <p>1- Easily maintained, <strong>developed</strong> (more <em>commands</em> might be added in the future) and user-friendly.</p>
  
  <p>2- Command line arguments might be modified and new could be added.</p>
  
  <p>3- Can live as an open-source project, an organised source-tree.</p>
  
  <p>I'm expecting developers to deal with the source-code and fairly understand it.</p>
  
  <p>I'm a newbie in those stuff, I'm kinda new to design patterns so I don't know much, I wanna follow the best practices in developing this program, I really wanna use design patterns if applicable and make my code better and cleaner, so please advise and guide me to write this tool in the best possible way, I don't wanna write dirty code, I wanna write a high-quality code that does what it's intended to and could be easily developed further.</p>
  
  <p>Please advise and feel free to criticize what I've just said.</p>
  
  <p><strong>One last thing, I'll be using C++!</strong></p>
  
  <p>Thanks!</p>