Capitulo 1 Flashcards

1
Q

o que DDD pode fazer para seus projetos e suas equipes a fim de ajudá-lo a lidar com a complexidade do domínio?

A
  • Especialistas de domínio terão que ouvir você, eles não sabem tudo
  • Desenvolver um software que reflete o modelo mental dos especialistas de negócio
  • Foco na estratégia de negócio e não na análise técnica
  • Codificação correta do modelo mental dos especialistas de domínio, de forma altamente testável e escalável
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como classificar o seu projeto para saber se merece o DDD

A
  • Use DDD somente para simplicar algo complexo, nunca para complicar algo simples
  • Somar 7 pontos no scoreboard 1.1 (em geral, quando possui complexidade ou é provável que tenha com o passar do tempo).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que é Domínio Básico e Subdomínio de Suporte?

A

Domínio Básico é o que não pode ser facilmente substituivel, o que não é trivial
Subdomínio de suporte são domínios secundários significativos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Alternativas comum ao DDD

A

Modelo de Domínio Anêmico

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Fundações do DDD e quais os primeiros passos no projeto

A

Linguagem Úbiqua; Contexto Delimitado; Mapa de Contexto

Primeiros passos:
Procurando as frases que a equipe fala, literalmente, e as documentando de alguma forma.
Desenhe imagens do domínio físico e conceitual e rotule-as com nomes a ação.
Crie um glossário de termos. Incluindo as que não são mais utilizadas, explicando porque.
O modelo de software incorpora os substantivos, adjetivos, verbos e expressões mais ricos que são falados pela equipe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Como vender o DDD

A

A organização ganha um modelo útil do seu domínio
Uma defninição e um entendimento precisos e refinados do negócio são desenvolvidos
Os especialistas em Domínio contribuem para o projeto de software
Uma melhor experiência do usuário é alcançada
Limites claros são colocados em torno de modelos puros
A arquitetura corporativa é mais bem organizada
Modelagem ágil iterativa e contínua é usada
Novas ferramentas, tanto estratégicas como táticas são empregados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qual o problema com o Modelo de Domínio Anêmico

A

Paga um custo de desenvolvimento pra elaborar um ‘modelo’ que não agrega valor nenhum, apenas é uma replicação do banco de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Por que a anemia acontece

A

Pessoas que copiam códigos de amostra
Influencia do Visual Basic, que criava aplicações apenas preenchendo formulários
Java Hibernate obrigava a exposição de getter e setters para popular os javabeans

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que a anemia faz para o seu modelo

A

Esconde regras de negócio em um ‘serviço de aplicação’ impostor.
Um método ‘save’, ele salva sob que circunstâncias? Normalmente todas, não expõe a intenção.

Especialistas em domínio não podem ajudar porque teriam que ser programadores para entender o código.

  1. Pouca intenção revelada pela interface
  2. A implementação de save adiciona complexidade oculta
  3. o ‘objeto de domínio’ não é um objeto. De fato é apenas um contêiner de dados burro.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual o papel de diagramas no DDD

A

Não documentar, apenas uma maneira de descutir os desafios do modelo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é Linguagem Úbiqua

A

Uma linguagem desenvolvida por equipe técnica e especialistas de domínio.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que é Contexto Delimitado quanto a Linguagem Úbiqua

A

É o contexto que delimita o significado da liguagem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Defina a vantagem: a organização ganha um modelo útil do seu domínio

A

DDD foca no que é mais importante para o negócio e o que tem pra oferecer de diferente.
Focando no domínio básico nosso modelo terá mais utilidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Defina a vantagem: uma definição e um entendimento precisos e refinados do negócio são desenvolvidos

A

Aparecem detalhes da mente dos especialistas em Domínio quando você é desafiado por outro e modelado pela equipe técnica.
Algumas empresas conseguiram compreender-se melhor após utilizarem a Linguagem Ubíqua

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Defina a vantagem: os especialistas em Domínio contribuem para o projeto de software

A

Todas se beneficiam mais da transferência de conhecimento

Além de criar um consenso entre EDs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Defina a vantagem: Uma melhor experiência do usuário é alcançada

A

O sistema induz o usuário a seguir o modelo. Diminuindo a necessidades de treinamento e evitando a queda de produtividade.

17
Q

Defina a vantagem: Limites claros são colocados em torno de modelos puros

A

A equipe técnica é desencorajada a fazer o que pode parecer mais importante para o algoritmo do que para as vantagens do negócio.

18
Q

Defina a vantagem: A arquitetura corporativa é mais bem organizada

A

Todos entendem por que as integrações são necessárias e como funcionam.

19
Q

Defina a vantagem: Modelagem ágil iterativa e contínua é usada

A

DDD não é desenhar diagramas. É como refinar um modelo que está na mente dos ED para um modelo útil de negócio.
O modelo produzido é o mesmo software de trabalhado sendo refinado continuamente a cada iteração.

20
Q

Defina a vantagem: Novas ferramentas, tanto estratégicas como táticas são empregados

A

Ferramentas que ajudam a manter um software inteligente e simples

21
Q

Quais os desafios para aplicar o DDD

A

Levar em conta o tempo necessário para desenvolver uma linguagem ubíqua
Envolver especialistas de domínio desde o início e de forma contínua no projeto
Mudar a forma como os desenvolvedores pensam em soluções em seus domínios