Bom pessoal, agora que a gente entendeu um pouco mais sobre essa arquitetura em três camadas, você vai perceber que agora a gente vai afunilar um pouco e nós vamos falar sobre Domain Logic, ou seja, o que acontece no coração da sua aplicação. E toda vez que a gente está falando disso, você vai perceber que nós vamos ter dois padrões ali grudados, mas que mudam completamente a forma de como você vai trabalhar com a sua aplicação um padrão ele é chamado de transaction script e o outro padrão ele é chamado de domém model tá dependendo de como você trabalha com a sua aplicação o rumo que ela toma é muito diferente então por isso que você tem que ser muito sábio na hora que você for trabalhar vamos falar um pouquinho aqui sobre transaction script e você vai perceber que o transaction script ao longo do tempo ele também evoluiu um pouquinho então o que acontece o que é o tal do transaction script o transaction script no final do dia ele traz as regras de negócio da sua aplicação em torno de transações. E quando eu estou falando transações, eu não estou falando de begin e commit lá no seu banco de dados. Eu estou falando transações para realizar um processo dentro do seu sistema. Então, ele segue um formato mais procedural, ou seja, ele faz isso, depois faz isso, depois faz isso e acabou. É basicamente isso. Ele é muito simples e direto, porque ele realiza diversas transações de começo ao fim você olha e você vai perceber que ele extremamente expressivo tá vou dar um exemplo aqui muito claro pra você de uma transação script eu tenho uma função ali que ela vai ser processar pedido que ela vai fazer ela verifica o estoque aplica promoções aplica o cartão fidelidade do cara crio pedindo o banco de dados e vai seguindo daí em diante ou seja eu realizei um conjunto né de transações uma atrás da outra e isso aí eu posso chamar de transaction script tá agora o grande ponto aqui quando a gente está falando em transaction script é que esse cara como tudo na nossa vida ele tem vantagem e desvantagem tá vamos pensar um pouquinho aqui no transeste um script Quais são as vantagens que ele ficará tem aqui no dia a dia um ele orientado a transações Então você sabe que alguma coisa tem que acontecer no seu sistema, você executa aquele cara e você sabe que morreu ali. Você sabe que tudo está concentrado ali. Ele é totalmente direto ao ponto. Como eu disse para você, é expressivo. Você olha o seu programa, você sabe o que aquela parte está fazendo e acabou. Você quer mudar a forma de como realizar pedido você vai ali e muda o pedido acabou legal normalmente esse cara aqui ele é mais adequado para quando você tem um sistema com rei que requisitos mais simples porque imagina que tem um sistema que realiza apenas algumas aplicações algumas transações chave e você não quer gerar um grau de abstração muito grande, você quer tirar muita complexidade, o que você faz? Você cria aquelas funções, aquelas transações, seu sistema vai executar, chamou, executou e acabou, galera. Então, quando você tem um sistema que no final do dia é mais simples, trabalhar dessa forma acontece eu acredito que você já fez isso é sem pensar nesse nome no final do dia tá agora como tudo nessa vida tem desvantagens quais são as principais desvantagens aqui quando a gente está falando em transação script a gente está falando em alta complexidade quando o sistema cresce tá porque você vai ter uma pancada de script de transações que vão acontecer no seu sistema tá muitas vezes partes dessas transações querem se falar e elas não se falam porque elas resolvem um problema único do início ao fim tá e quando o seu sistema cresce a coisa vai ficando mais complicada né você vai perceber também que ele trabalha de uma forma mais síncrona. Ou seja, você tem que partir do princípio que tudo ali deu certo para aquela transação acabar. Então, se o usuário vai realizar o processamento de um pedido ali, normalmente você vai ver que esse cara vai ter que esperar todos aqueles pontos serem executados para você trabalhar legal então quando você pensa em transaction script a gente está pensando ali em pontos que dão trabalho um ponto que não está ali no slide mas vale a pena eu falar é o seguinte quando a gente está falando de transaction script a gente tem essa pegada mais direta, mas você vai perceber que quando você tem transações parecidas, você acaba duplicando o código. É muito comum duplicação de código em Transaction Script, porque cada transação faz uma coisa e se elas fazem coisas parecidas, você duplica porque elas são independentes então isso é um ponto importante vamos falar no próximo vídeo sobre domain model e você vai entender a diferença desse cara aqui vamos nessa