2.5. Modelando tipos de interface e seus relacionamentos
Uma funcionalidade essencial de um componente é sua habilidade de definir interfaces. O componente precisa expor algum(ns) meio(s) para que outros componentes se comuniquem com ele. As interfaces podem ser de dois tipos: provedor e consumidor.
| Provedor | Consumidor |
|---|---|
| Quando um componente implementa uma interface que oferece serviços ele é denominado de provedor. | Quando um componente implementa uma interface que acessa um serviço de outro componente ele é um consumidor. |
|
Exemplo: quando um componente “PedidoDeCompraDeIngresso” oferece funcionalidades de “adicionarIngresso” e de “finalizarPagamento”, percebemos que a implementação destas funcionalidades pertence a este componente, ou seja ele provê esse serviço, daí ele é um provedor. O ícone que representa um provedor é o círculo fechado.
|
Exemplo: quando o componente “PedidoDeCompraDeIngresso” precisa de aplicar descontos estudantis e de idosos na compra de um bilhete de cinema, ele precisa consultar o componente “Desconto” para receber as regras relacionadas ao desconto. Desta forma, o componente “PedidoDeCompraDeIngresso” precisa de uma interface que consome as informações de outro componente que atuará como provedor. O ícone que representa um provedor é uma meia-lua (semicírculo) que se acopla ao ícone de um provedor.
|