O EGL usa o termo "interface" da mesma forma como fazem as linguagens
orientadas a objetos. Para o EGL, uma interface define um plano de um serviço a ser seguido.
Especificamente, uma interface contém um ou mais
protótipos de função
ou resumos de funções. Esses protótipos não são funções úteis em si, mas
estabelecem planos para as funções reais.
Por exemplo, suponha que você
precise criar um aplicativo que execute operações matemáticas, como uma
calculadora. Você pode começar listando todas as operações matemáticas de que seu
aplicativo necessitaria (como inclusão, subtração e multiplicação), sem de fato
gravar o código para executar estas operações. Nesse caso, você nomearia cada operação
e especificaria o parâmetro de entrada e de saída de cada operação, mas
não começaria a codificar nenhuma lógica. Dessa forma, você listaria as
funções necessárias ao aplicativo de serviço do EGL em uma
interface. Tal interface pode começar semelhante a esta:
interface myCalculatorInterface
//Função para somar números
function addNumbers(number1 decimal(10,2) in,
number2 decimal(10,2) in) returns (decimal(10,2));
//Função para subtrair números
function subtractNumbers(number1 decimal(10,2) in,
number2 decimal(10,2) in) returns (decimal(10,2));
end
Então, quando estiver pronto para começar a codificar o serviço,
você pode usar esta interface como um ponto inicial e como um teste para garantir
que esteja seguindo o plano.
Raramente será solicitado que você grave uma
interface mas, em geral, o uso de interfaces para descrever seus serviços é
uma boa prática de programação:
- A interface permite que você planeje o serviço com antecedência e o EGL adverte
se o serviço diferir da interface.
- As interfaces oferecem um resumo conciso de um serviço, explicando o que o serviço
pode fazer sem oferecer todos os detalhes da implementação do serviço.
- As interfaces podem servir como requisitos para desenvolvimento ou conformidade.