Olá amigos, tudo bem? Espero que sim, mesmo diante das dificuldades em que passamos. Entretanto, gostaria de saber quais os conceitos envolvidos no seguinte código:
GenericDAO oTipoCampanhaDAO = new TipoCampanhaDAO();
GenericDAO = Interface que possue contratos a serem implementados, no objeto oTipoCampanhaDAO que será instanciado a partir da classe TipoCampanhaDAO.
Bom, já falando boa parte do código, eu tenho dúvida quanto a que conceito o GenericDAO aplica no objeto. O objeto terá multiplos tipos?(sendo TipoCampanhaDAO e GenericDAO).
Isso tem ligação com polimorfismo na orientação à objetos.
Neste caso a interface recebe a instância de uma implementação específica, mas poderia por exemplo existirem N outras implementações, com isso, no momento em que você faz:
Interface minhaInterface = new MinhaImplementacao();
Você garante que seu código sofrerá o mínimo de impacto em caso de uma mudança na implementação, pois isso deixa suas classes com um baixo nível de acoplamento, dado que ele depende somente da interface e não da implementação propriamente dita.
1 curtida
Muito obrigado, o link seguinte explica exatamente oque você explicou em poucas(mas de forma eficiente) palavras. Obrigado mesmo.
Java - Injeção de Dependências (Simples, sem uso de frameworks) - YouTube