Pplware

Programação Web – #9: Interfaces e Traits

Depois de abordar os namespaces no tutorial anterior, vamos validar hoje os interfaces e traits.

Como anteriormente, gostaríamos de recordar que não é possível formar um programador numa questão de vários tutoriais. Estes servem para boa orientação e início de uma busca por parte do leitor. Servirão de base a quem se quer iniciar, não esquecendo que esta rubrica tem como objectivo a introdução da framework Laravel.

Interfaces

São os interfaces que nos permitem garantir que as classes são implementadas conforme projectado. São como contratos, onde apenas dizemos quais os métodos e parâmetros que determinada classe tem de implementar. Se tal não acontecer, resultará num erro fatal para a aplicação. Do interface, não faz parte código fonte algum.

Um interface para uma viatura poderia ser a definição que tem de ligar, tem de dar para seguir em frente, virar para a esquerda e para a direita, recebendo como parâmetro a distância a percorrer.

Se declararmos uma classe que implemente esta interface, teremos que definir tais métodos, “garantindo” assim a funcionalidade da classe.

Os métodos definidos terão que ter visibilidade pública. Os interfaces não podem ser instanciados. Ou seja, não há objectos do tipo interface.

 

Traits

Pensemos nos Traits como métodos utilizáveis em várias classes, evitando assim repetição de código entre elas.

Se virar um volante, num ligeiro ou num camião, for feito da mesma maneira, então para quê repetir essa funcionalidade? Ambas as classes usarão o mesmo trait.

 

Desafio Extra

Uma particularidade fantástica do Laravel é que, graças ao seu IoC Container, podemos “ligar” uma classe a um interface. Através do seu gestor de dependências, quando solicitada a “instanciação” de uma interface (via Dependency Injection), ele na verdade vai instanciar e fornecer a tal classe ligada.

Teremos estas “bindings” num Service Provider, podendo assim ao longo do projecto, substituir uma implementação sem ter que alterar código fonte projecto fora.

Fica o desafio para que leia sobre os princípios SOLID. Acrónimo para:

Trata-se de princípios para boas (óptimas) práticas de arquitectura de software. Não se referem a uma linguagem concreta.

Não se assustem, é mais fácil entender do que parece. Mas claro, requer o seu tempo e colocação em prática. Mais à frente abordaremos.

 

Tópicos para hoje

 

 

Roadmap para os próximos vídeos (dinâmico a cada tutorial):

 

Ficheiros de Suporte

Aqui ficam os ficheiros do projecto ao artigo de hoje, convenientemente preparados para serem explorados por vós.

Ficheiros de suporte #9

 

Screencast

Se não conseguir ver o vídeo, clique aqui.

 

Por João Patrício para Pplware.com
Exit mobile version