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!
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!
@Mario Rezende, grande! Muito obrigado pela aula! Parabéns.
Show de bola. Exemplos simples, claros, diretos e ótima explicação de cada princípio. Excelente apresentação.
Conteúdo top muito obrigado por compartilhar conhecimento :) .
Marião é monstro!
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.