Neste último post, vamos cobrir alguns conceitos da Orientação a Objetos ainda em aberto.
Interface
Uma interface define um conjunto de comportamentos, e são implementadas por classes e componentes. Ao implementar uma interface, uma classe deve conter definições para todos os métodos definidos na mesma.
Uma interface permite a uma classe participar de uma funcionalidade, sem que outras classes saibam detalhes de sua funcionalidade. A única característica conhecida é que a classe 'suporta' a interface exigida.
Os diagramas a seguir apresentam exemplos de interfaces e suas notações.
Componente
É uma unidade funcional, que pode ser desenvolvida de forma independente e composta com outros componentes, de forma a criar sistemas. Um componente é tipicamente um agrupamento de classes com um propósito comum.
Diagrama de componentes de exemplo, com interfaces exigidas e interfaces expostas.
Padrões de Projeto
Padrões de projeto são conjuntos de soluções de modelagem e/ou implementação, que resolvem problemas conhecidos e consagrados do desenvolvimento de sistemas Orientados a Objetos.
Os padrões de projeto são benéficos ao desenvolvimento de sistemas OO em vários aspectos:
- Trazem soluções aprovadas para problemas do desenvolvimento de sistemas, pois os padrões já foram amplamente discutidos e refinados por especialistas
- Facilitam entendimento e manutenção de sistemas, pois criam um vocabulário comum entre desenvolvedores
- Auxiliam a especificação de arquiteturas de projetos complexos ou com propriedades específicas
- Focam propriedades importantes da Orientação a Objetos, como os conceitos já discutidos nos posts anteriores
Muitas são as referências para padrões de projeto na Internet. Alguns links interessantes:
Conceitos da OO nos posts anteriores:
- classe, objeto, atributo, método, instância, classe concreta
- abstração, coesão, acoplamento, encapsulamento, mensagem, polimorfismo, colaboração
- associação, agregação, cardinalidade, composição
- herança, subtipo, supertipo, sobreposição
Você sentiu falta de algum conceito importante neste conjunto de posts sobre Orientação a Objetos? Algum conceito foi abordado de forma insuficiente? Por favor, permita-me tomar conhecimento de sua opinião. Deixe seu comentário.
0 Comments:
Post a Comment