[Software Design Pattern] - Unit of-work

4
Unit of work Padrão de unidade de trabalho. Breno Queiroz Sócio Propietário – studiows3 @brenofqueiroz Bruno Brandes Sócio Propietário – studiows3 @brunobrandes

Transcript of [Software Design Pattern] - Unit of-work

Page 1: [Software Design Pattern] - Unit of-work

Unit of workPadrão de unidade de trabalho.

Breno Queiroz

Sócio Propietário – studiows3

@brenofqueiroz

Bruno Brandes

Sócio Propietário – studiows3

@brunobrandes

Page 2: [Software Design Pattern] - Unit of-work

O que é a unidade de trabalho?

De acordo com Martin Fowler, o padrão Unit Of

Work (unidade de trabalho) : "mantém uma lista

de objetos afetados por uma transação

comercial e coordena a gravação de alterações

e a resolução de problemas de concorrência”.

O padrão Unit of Work pode ser visto como um

contexto, sessão ou objeto que acompanha as

alterações das entidades de negócio durante

uma transação sendo também responsável pelo

gerenciamento dos problemas de concorrência

que podem ocorrer oriundos dessa transação.

Page 3: [Software Design Pattern] - Unit of-work

Como usar o padrão Unit of Work ?

Uma das melhores maneiras de usar o padrão Unit of

Work é permitir que classes e serviços diferentes façam

parte em uma única transação lógica sem se conhecerem

mutuamente.

Page 4: [Software Design Pattern] - Unit of-work

Lições aprendidas

De certa forma, você pode pensar na unidade de

trabalho como um lugar que executará todo o

código de manipulação de transação. As

responsabilidades da Unidade de Trabalho são:

1. Gerenciar as transações.

2. Ordenar as inserções de banco de dados,

exclusões e atualizações.

3. Impedir duplicação de atualizações. Dentro

de um único objeto de uma Unidade

trabalho, diferentes partes do código pode

marcar o mesmo objeto como alterado, mas

a classe de unidade de trabalho só irá emitir

um comando UPDATE no banco de dados.