Best Practices Keep constructors simple. Constructing an object shouldn’t be an expensive operation. No API calls No resources created No resources modified Dependency Injection is your friend. Use interfaces when possible. High Level Components Should Depend On Low Level Abstractions