Criando software para o futuro com DDD, Arquitetura, Patterns, e Atitude