Quando estudei MVC pela primeira vez no livro falava muito sobre DDD (Domain-Driven Design). Pelo que eu entendi na época, a ideia do DDD era simplesmente programar o software com foco no desenvolvimento da camada de domínio.
Depois disso, lendo sobre o processo de análise e projeto em orientação a objetos tive a impressão de que sempre que programamos um software orientado a objetos damos essa ênfase na camada de domínio, começando por ela e usando os requisitos pra montar ela corretamente.
Isso faz parecer que o DDD prega basicamente a mesma coisa que o processo de análise e projeto em orientação a objetos. Dessa forma, o que realmente é o DDD e quando ele se aplica de verdade? Quais as vantagens de se usar DDD em um projeto?
Eu sei que existe um livro chamado "Domain-Driven Design: Tackling Complexity in the Heart of Software"Domain-Driven Design: Tackling Complexity in the Heart of Software, mas por ser um livro muito extenso nunca consegui parar pra ler ele. Existe alguma referência mais resumida sobre o assunto?