I would like to share my experience with you by presenting the pros & cons of some useful tools and patterns, as well as pointing out to the different directions that you could explore on your own.