Estudos gratuitos da ER Soluções WebVer outros conteúdos grátis
ER Soluções WebEstudos · Patterns of Enterprise Application Architecture

18.4. Separated Interface

Interface em um pacote, implementação em outro: inverte a dependência.

Pacote de domínio define a interface; pacote de mapeamento implementa e depende do domínio
A seta de dependência aponta para quem define a interface.

Resumo

Perguntas-chave

responda de cabeça, depois abra
Onde fica a interface no Separated Interface?
No pacote do cliente (ou em um pacote próprio), separado da implementação.
Como o cliente obtém a implementação sem depender dela?
Via factory separada, Plugin ou injeção de dependência.
Devo criar interface para toda classe?
Não. Use quando há uma dependência que precisa ser quebrada.

Exercícios de fixação

0/5 respondidas
1.
O pacote dominio declara interface RepositorioPedidos; o pacote infra contém RepositorioPedidosSql implements RepositorioPedidos. Qual padrão?
2.
Nesse arranjo, qual pacote depende de qual?
3.
Se o domínio não pode depender de infra, como obtém a implementação?
4.
Quando Fowler não recomenda Separated Interface?
5.
Separated Interface é a base técnica de qual princípio conhecido?
Seu progresso fica salvo neste navegador.