16.3. Coarse-Grained Lock
Um único bloqueio para um grupo de objetos relacionados.
Resumo
- Bloqueia um conjunto de objetos relacionados com um único bloqueio.
- Versão compartilhada: todos os objetos do grupo apontam para o mesmo objeto de versão.
- Bloqueio da raiz: bloqueia-se a raiz do agregado (Evans) e isso cobre os filhos.
- Funciona com otimista ou pessimista. Reduz número de bloqueios e simplifica o código.
- Cuidado: alterar um filho deve incrementar a versão compartilhada.
Perguntas-chave
responda de cabeça, depois abraQuais as duas formas de Coarse-Grained Lock?
Versão compartilhada entre os objetos do grupo, ou bloqueio na raiz do agregado.
Qual o benefício?
Menos bloqueios a gerenciar e consistência garantida do grupo como um todo.
Com qual conceito de DDD ele se relaciona?
Agregado: grupo de objetos tratado como unidade, com uma raiz.
Exercícios de fixação
0/5 respondidas1.
Cliente e seus 5 endereços devem ser editados como unidade. Em vez de 6 versões, todos usam a mesma versão. Qual padrão?
2.
Ao alterar só um endereço do cliente, o que deve acontecer com a versão compartilhada?
3.
No bloqueio pela raiz, como se bloqueia um endereço?
4.
Qual vantagem do Coarse-Grained Lock?
5.
Coarse-Grained Lock funciona com: