Excelente explanação do tema Mario, voltei a estudar desenvolvimento em java fazendo uma especialização e numa disciplina falou sobre esse princípio, como não conhecia vim procurar e achei algumas, mas esse vídeo é sensacional! Vou assistir mais algumas vezes. Parabéns!
Legal @Mario também penso que "nem 8 nem 80" são obrigatórios, hehehe quero dizer, não precisamos ser estremistas na escolhas de um projeto, já que cada projeto tem seus requisitos, suas particularidades/limitações então, é muito comum e favorável fazer adaptações de alguns princípios/padrões de DEV para cada tipo de projeto. Viu, mas escrevo principamente porque eu gostaria de tirar uma dúvida, faço isso aqui mesmo nos comments do YT? Dúvida: Aos 55 minutos e 27 segundos do vídeo VC responde à pergunta de VITOR: "Cada módulo do nível inferior deve ter uma abstração para o módulo do nível superior se comunicar com aquela inferior." ---> Isto me deixou confuso. Fiquei com impressão que esta ideia ficou invertida àquela que eu (pensei) que havia entendido da regra-B da "Dependency Inversion", ou seja: já que devemos implementar uma classe de nivel inferior (detalhes) obedecendo a abstração gerada/imposta para atender às necessidades da classe superior então, geramos a abstração 1 vez para 'reutilizá-la' várias (quantas/onde) vezes forem necessárias/possíveis (qto mais 'reutilizável' é -> mais otimizado está, depende do tamanho e complexidade do projeto não vem ao caso nesta questão), em outras palavras, para 1(cada) classe superior (principal) geramos 1 abstração que será imposta para 'N' classes inferiores (detalhes). Enfim, "Cada módulo/classe do nível SUPERIOR gera/impõe 1 abstração para o(s) módulo(s)/classe(s) do nível INFERIOR se comunicar com aquela SUPERIOR obedecendo as regras da abstração imposta (contrato)." "Rapáizzz" não é fãcil expressar a ideia só num textinho aqui no comments, né ? Não sei sefui claro na minha pergunta, então deixei uma figurinha pra ajudar: static.wixstatic.com/media/9d4440_283c2b03fed44eeca814efd1352a51b4~mv2.png Aguardo retorno. Forte abraço.
Um dos melhores vídeos sobre solid no youtube. Parabéns Mario!
Mário, foi uma das melhores explicações de solid que já tive. Obrigado!
@Mario Rezende, grande! Muito obrigado pela aula! Parabéns.
Marião é monstro!
Excelente explanação do tema Mario, voltei a estudar desenvolvimento em java fazendo uma especialização e numa disciplina falou sobre esse princípio, como não conhecia vim procurar e achei algumas, mas esse vídeo é sensacional! Vou assistir mais algumas vezes. Parabéns!
Conteúdo top muito obrigado por compartilhar conhecimento :) .
Show de bola. Exemplos simples, claros, diretos e ótima explicação de cada princípio. Excelente apresentação.
Muito bom
Legal @Mario também penso que "nem 8 nem 80" são obrigatórios, hehehe quero dizer, não precisamos ser estremistas na escolhas de um projeto, já que cada projeto tem seus requisitos, suas particularidades/limitações então, é muito comum e favorável fazer adaptações de alguns princípios/padrões de DEV para cada tipo de projeto.
Viu, mas escrevo principamente porque eu gostaria de tirar uma dúvida, faço isso aqui mesmo nos comments do YT?
Dúvida: Aos 55 minutos e 27 segundos do vídeo VC responde à pergunta de VITOR: "Cada módulo do nível inferior deve ter uma abstração para o módulo do nível superior se comunicar com aquela inferior." ---> Isto me deixou confuso. Fiquei com impressão que esta ideia ficou invertida àquela que eu (pensei) que havia entendido da regra-B da "Dependency Inversion", ou seja: já que devemos implementar uma classe de nivel inferior (detalhes) obedecendo a abstração gerada/imposta para atender às necessidades da classe superior então, geramos a abstração 1 vez para 'reutilizá-la' várias (quantas/onde) vezes forem necessárias/possíveis (qto mais 'reutilizável' é -> mais otimizado está, depende do tamanho e complexidade do projeto não vem ao caso nesta questão), em outras palavras, para 1(cada) classe superior (principal) geramos 1 abstração que será imposta para 'N' classes inferiores (detalhes). Enfim, "Cada módulo/classe do nível SUPERIOR gera/impõe 1 abstração para o(s) módulo(s)/classe(s) do nível INFERIOR se comunicar com aquela SUPERIOR obedecendo as regras da abstração imposta (contrato)."
"Rapáizzz" não é fãcil expressar a ideia só num textinho aqui no comments, né ? Não sei sefui claro na minha pergunta, então deixei uma figurinha pra ajudar:
static.wixstatic.com/media/9d4440_283c2b03fed44eeca814efd1352a51b4~mv2.png
Aguardo retorno.
Forte abraço.