Executando verificação de segurança...
5

Você conhece o pattern Data Mapper?

capa

Data mapper é um pattern apresentado no livro Padrões de Arquitetura de Aplicações Corporativas de Martin Fowler que ajuda a manter os dados das camadas de persistência e do domínio separados e sem que uma tenha conhecimento da outra.

Gosto de utilizar esse pattern no frontend para que o backend se adapte ao formato do domínio do frontend e não o contrário.

No código da imagem, recebemos da API um array de Button e o frontend espera um objeto Button.

Com Data Mapper, podemos resolver esse problema colocando um mapper entre essas duas camadas e mantendo nossos componentes isolados sem que eles tenham conhecimento do formato dos dados da camada de persistência.

Você já conhecia esse pattern?


Me Siga nas redes sociais para mais conteúdos como esse.

Linkedin
Instagram

Carregando publicação patrocinada...
-1

2 cents: comecem engatinhando...

Faz essa transformação ali no metodo/classe que vc precisa usar, caso precise reutilizar a mesma lógica em outros lugares, ai começa a abstrair.

0
0

Voce pode realizar essa transformacoes na classe especifica e manter o desacoplamento entre seu dominio e infra.

Faz o mapeamento para/de dominio dentro do repositorio por exemplo.
Mesma coisa com um controller da vida.

A abstração do data mapper em si não é necessaria a primeiro momento na maioria dos casos.

-1
0
class FooRepository
{
    public function find(int $id): Foo
    {
        $row = yourDbQueryThatReturnGenericRow();
        
        // map to domain model here
        $foo = new Foo(
            $row->id,
            $row->something,
            $row->anotherSomething
        );
        
        return $foo;
    }
}

Não precisa abstrair essa lógica em uma nova classe sem motivos, se só vai usar ela ai, usa ela ai