MAC 441/5714 - Programação Orientada a Objetos

Aula 16

Aumentando a Flexibilidade (continuação)

Generalização de Classes

Especialização de Classes

Evite Distinção de Classes Baseada no Estado (p/ melhorar a flexibilidade)

Evite Superclasses Concretas (p/ melhorar a flexibilidade)

Especialização vs. Agregação

Agregação

Exercício

Modele a arquitetura de um sistema que permita que os 4 componentes acima (teclado, leitor de cartão, tela e gaveta de dinheiro) possam ser utilizados independentemente num caixa automático, pedágio e terminal para consulta de saldo).

Sugestão de arquitetura de Fernando Lemes da Silva


Ou o arquivo em .dia.

Referência

Charles Richter. Designing Flexible Object-Oriented Systems with UML. Capítulo 4: Flexibility Guidelines for Class Diagrams. Macmillan Technical Publishing, 1999.


Próxima Aula
Aula Anterior
Página de MAC 441/5714
Página do Fabio
Página do DCC