Temos um treinamento cujo objetivo é fazer com que você escreva código de qualidade independente da situação. Conheça mais sobre a Jornada acessando deveficiente.com/lp-youtube Aplicar as boas práticas de programação tem que ser fácil, para que você faça diferença no time entregando um produto cada vez mais sustentável e elevando o nível da equipe. Acreditamos que este é um caminho que tende a gerar uma progressão de carreira cada vez melhor.
Como sempre, ótimo vídeo! Ficou claro que devemos criar interfaces com propósitos individuais, e claro, sem criar um método por interface. Só senti falta da solução do cenário da impressora. Como você faria, Maurício? Criaria o novo método na interface existente e deixaria o vazio nas classes concretas que não têm a funcionalidade de fax?
Eu faria da mesma forma também. Cria a intermace iFax e as impressoras que tivessem essa função implementariam minhas duas interfaces, a da impressora e a do fax
Oi Douglas, acho que a galera já deu uma ótima sugestão. Provavelmente você vai ter um lugar no sistema onde precisa de impressora e outro onde precisa de fax. E aí você vai conseguir passar a mesma instância da classe, já que ela segue os dois contratos.
Como eu resolveria. Eu criaria uma class abstrata chamada impressora para ser estendida, dentro dela colocaria os métodos padrão de uma impressora universal, imprimir e scaner. E criar uma classe do tipo interface com nome da funcionalidade que eu quero adicionar a uma impressora, apesar que ideia é fazer herança múltipla, esse não é objetivo principal dela.
Temos um treinamento cujo objetivo é fazer com que você escreva código de qualidade independente da situação. Conheça mais sobre a Jornada acessando deveficiente.com/lp-youtube
Aplicar as boas práticas de programação tem que ser fácil, para que você faça diferença no time entregando um produto cada vez mais sustentável e elevando o nível da equipe. Acreditamos que este é um caminho que tende a gerar uma progressão de carreira cada vez melhor.
Como sempre, ótimo vídeo! Ficou claro que devemos criar interfaces com propósitos individuais, e claro, sem criar um método por interface. Só senti falta da solução do cenário da impressora. Como você faria, Maurício? Criaria o novo método na interface existente e deixaria o vazio nas classes concretas que não têm a funcionalidade de fax?
Eu criaria uma interface "Fax" e então a "HP Fax Model" implementaria Impressora e Fax
@@cprojasbom demais
Eu faria da mesma forma também. Cria a intermace iFax e as impressoras que tivessem essa função implementariam minhas duas interfaces, a da impressora e a do fax
Oi Douglas, acho que a galera já deu uma ótima sugestão. Provavelmente você vai ter um lugar no sistema onde precisa de impressora e outro onde precisa de fax. E aí você vai conseguir passar a mesma instância da classe, já que ela segue os dois contratos.
Como eu resolveria. Eu criaria uma class abstrata chamada impressora para ser estendida, dentro dela colocaria os métodos padrão de uma impressora universal, imprimir e scaner.
E criar uma classe do tipo interface com nome da funcionalidade que eu quero adicionar a uma impressora, apesar que ideia é fazer herança múltipla, esse não é objetivo principal dela.
Ótimo vídeo! Muito clara a explicação
Aniche é monstro demais explicando as coisas, ficamos muito felizes que tenha gostado!