Bom pessoal, como eu disse aqui no vídeo anterior, a gente vai falar agora sobre Patterns of Enterprise Application Architecture, baseado nesse clássico, esse livro do Martin Fowler, que eu super recomendo que você leia. É um livro muito denso, você vai demorar algum tempo para conseguir ler, mas vai valer bastante a pena para o seu crescimento profissional. o seu crescimento profissional. De uma forma ou de outra, aqui a gente vai trazer muito conteúdo sobre esse livro e eu vou trazer, inclusive, a minha interpretação, inclusive, da evolução desses patterns ao longo do tempo, porque esse livro, de forma geral, é bem antigo. Então, tem muita coisa que se aplica nos dias de hoje e muita coisa que não se aplica. Então, eu vou trazer aqui para vocês o que faz mais sentido você aprender sobre isso nos dias de hoje e muita coisa que não se aplica. Então eu vou trazer aqui para vocês o que faz mais sentido você aprender sobre isso nos dias de hoje. Legal? Então a primeira coisa que eu quero que você entenda é que baseado aqui em toda essa catalogação, vamos dizer assim, do marketing follower, existem muitos, mas muitos padrões de design pattern. Somente para a gente ter uma ideia. Quando a gente pega aquele livro lá do Gang of Four, você vai perceber que a gente tem três categorias de patterns. A gente tem os patterns criacionais, estruturais, comportamentais. Quando a gente vai falar aqui sobre patterns for Enterprise Application Architecture, olha só que interessante. Você vai ver que a gente tem patterns focados para domain logic, a gente tem patterns focados para data source architecture patterns, a gente tem object relational behavior, a gente tem object relational structural patterns, a gente tem object relation metadata mapping patterns, a gente tem web presentation, a gente tem Web Presentation, a gente tem Distribution Patterns, a gente tem Offline Concurrency Patterns e a gente tem Session State Patterns. Tem mais aqui? Tem Base Patterns. Então, se você perceber, é muito padrão. E muitos deles, muitas dessas categorias se aplicam e não se aplicam aqui pra gente então você vai começar a perceber que não adianta por mais que você queira a guardar né e tentar é fazer com que a sua cabeça vira uma bíblia e para guardar todos os patentes provavelmente você não vai conseguir o porquê que eu estou dizendo isso porque tudo isso que eu estou mostrando pra você são categorias de patentes os patentes estão dentro dessas categorizações entende então só pra você decorar as categorias é difícil entende que eu estou querendo dizer então por isso que para entender patente primeira coisa que você tem que ter em mente é que você tem que ter uma intenção. Você tem que ter um problema a ser resolvido e esses patterns vão te ajudar a resolver esses problemas. O grande ponto é que, na maioria das vezes, quando a gente está falando em arquiteturas enterprise, você vai perceber que sistemas se comunicam, a gente fala com diversas camadas dos sistemas, os sistemas são complexos por si só dentro deles, a gente tem diversas equipes mexendo no mesmo código, esses caras aí, eles têm que se estender e durar por muito tempo. Então, assim, não é fácil manter um sistema realmente grande, que tenha diversas responsabilidades esses patins eles vão gerar aqui pra gente uma forma muito interessante de trabalhar e é muito louco tá galera porque eu estou dizendo isso eu lembro que eu trabalhei muitos e muitos anos com php pra vocês terem uma idéia eu comecei a mexer com php versão 3 do PHP. Era em torno de 99, 2000. E nessa época, pouco eu via patterns muito bem definidos e coisas desse tipo. E uma das vezes que eu vi patterns feitos em uma maestria muito grande, eu acho que cada pessoa que trabalha com uma linguagem, uma plataforma diferente, acaba vendo essa evolução. Provavelmente a galera do Java viu muitos patterns serem implementados. Na época do PHP, a gente tinha um framework que era o Zend Framework 1. E nesse framework, direto nas implementações deles, eu via Data Table, eu via Table Module, eu via os conceitos de MVC, eu via repository, data mapper, eu via um monte de coisas. E eu falei assim, cara, da onde estão vindo esses nomes, esses adapters, todas essas coisas? E quando você vai entender da onde vem tudo isso, você vai ver que a maioria de todos aqueles padrões estavam baseados nesse livro. Então, na realidade, às vezes, o que muda o nível de você desenvolvedor para outro desenvolvedor é ter lido um livro. Olha só que louco, né? Eu simplesmente pensava, quando eu estava vendo aquele código fonte do framework, falava, meu Deus, de onde que esses caras tiram isso aqui? E quando você ia olhar, vinha tudo desse livro. Olha que muito louco. E provavelmente você já se deparou com alguma coisa parecida com essa, só não percebeu. parecida com essa só não percebeu tá então a vai ser interessante aqui para gente olhar e fazer um resumão né desses caras que na minha opinião eu acho importante você dá uma olhada legal obviamente que a gente não vai precisar passar por todas as categorizações tá se você for depois dá uma olhada um livro você vai ver que o livro é dividido em duas partes. Uma parte é uma parte de narrativa, onde ele mostra, entre aspas, um pouco a aplicabilidade desses patterns no dia a dia, de forma geral. E você tem uma outra parte, que é a catalogação mesmo dos patterns, explicando um a um o que cada coisa faz. Então a nossa ideia aqui principalmente é focar nessa narrativa Para que a gente consiga entender a utilização dos principais patterns Que valem a pena a gente olhar hoje Bacana? Então é isso aí galera, vamos seguindo então para o nosso próximo vídeo aqui