Best Practices for Applying Deep Learning to Novel Applications
design patterns : elements of reusable object - oriented software .