Given your age and the photo provided, you will definitely want to have orthodontic treatment prior to bonding or veneers. You may find after orthodontic treatment that you still want to change the shape and shade of the teeth but you will not be trying to solve a spacing issue with a bonding solution and the result will be much better both in how the teeth look and how they function.
I agree with your dentist, at your age certainly some form of orthodontics is preferable (either Invisalign or braces).
Porcelain veneers on multiple teeth will help keep the proportion of your teeth more normal, and if you decide on doing veneers six or eight veneers would give you a much better looking results than just doing on four teeth.
Based on your photo and your age, I would probably recommend Invisalign and potentially some cosmetic work after the Invisalign is completed. Looking at your teeth, I would estimate that Invisalign would take about 20 months to complete. I would also recommend whitening your teeth while you straighten them. This can be done by asking your dentist about it. I definitely recommend that you consult a cosmetic dentist that can provide additional options, besides just the metal braces or Invisalign. Your age alone does not preclude you from getting veneers or crowns, but I would highly recommend that you go the Invisalign route first. Good luck and I hope this helps. Follow me if you have more questions.
Sarah Thompson, DMD