Bom pessoal, o negócio é o seguinte, a gente está falando de gateways e os gateways eles têm a responsabilidade, vamos dizer, da porta para fora da sua aplicação. O grande ponto é que as nossas aplicações, elas também têm uma parte que a gente fala da porta para dentro, ou seja, o coração da nossa aplicação. E para a gente falar do coração da nossa aplicação, no final do dia a gente acaba falando sobre lógica de domínio, ou seja, o domínio da nossa aplicação. Ok? E existem padrões que você utiliza para trabalhar com essa lógica de domínio então daqui pra frente agora a gente vai falar de mecanismos tá que vão nos ajudar com a parte de persistência e consulta de dados mas olhando da perspectiva do coração da aplicação tá a o primeiro ponto que a gente tem aqui é chamado de Table Module. E vai ser interessante, galera, que você vai começar a identificar qual é o formato de lógica de domínio que você utiliza para modelar a sua aplicação daqui para frente. Olha só que interessante. Em relação à lógica de domínio, a gente tem Table Module. O que isso significa no final do dia? Toda vez que a gente for utilizar o conceito de modelagem de domínio baseado em tabelas, provavelmente vai fazer um belo de um sentido você utilizar Row Data Gateway ou Table Data Gateway. Legal? Aí você deve estar pensando, o que é um tempo módulo eu não sei se você já passou por algum programa tá mas na hora que você está desenvolvendo esse programa você começa a especificação desse tipo de programa pelo banco de dados é muito comum a gente vê isso hoje em dia e normalmente quem trabalha muito com o Domain Driven Design acaba torcendo muito o nariz, porque a regra de domínio, a modelagem de domínio, ela não está baseada no caso de uso da empresa, mas sim baseada na estrutura de dados. Então o que acontece? A gente acaba tendo um outro formato de modelagem, que é o formato de domain model. Então, todas as vezes que você for pensar em lógica de modelagem de domínios, você vai ver que a gente tem table module, onde você acaba baseando a lógica da sua aplicação na estrutura de dados que normalmente é refletida ali no banco de dados. na estrutura de dados que normalmente é refletida ali no banco de dados. Galera, isso é muito comum e talvez você hoje em dia trabalhe dessa forma e acabe nem se tocando disso. O grande ponto é que toda vez que você fizer o seu software, vamos dizer, orientado a tabelas, é mega recomendado que você utilize esses formatos de Data Table Gateway e Roll Data Gateway. Por quê? Porque como você já trabalha ali no seu domínio, pensando nas suas tabelas do banco, uma forma de você também trabalhar com persistência é olhando tabelas para o banco. Então, você vai ter um casamento muito bom em relação a isso. Agora, a gente também precisa falar um pouco sobre domínio model e é isso aí que acaba gerando um nível de complexidade um pouco maior na hora que a gente vai trabalhar com as nossas aplicações então vamos nessa