Já aprendemos que um sistema deve ser organizado em subsistemas.
Na vida real, substituímos componentes quando procuramos otimizar o software, agregando mais funcionalidades, aumentando performance, aumentando segurança, tornando-o mais robusto etc. A maior vantagem de utilizar componentes é porque podemos trocá-los por outros sem necessitar mudar nada no sistema. Componentes tornam o sistema mais flexível, fácil de manter, escalável e reutilizável. Componentes podem ser pequenos ou enormes.
|
Quando você modelar e construir componentes reutilizáveis, tenha atenção especial em definir bem os limites do componente. Esses limites são descritos pelas funcionalidades e interfaces de cada componente |
Os critérios mais importantes para a criação de componentes reutilizáveis são:
O trabalho interno do componente deve ser protegido de acesso externo. Nenhuma dependência deve haver entre a parte interna do componente e qualquer outro objeto, ele deve sempre ser capaz de funcionar sozinho, apenas pelos seus métodos públicos. Ou seja, encapsule o trabalho interno.
XUma interface define quais operações podem ser realizadas em um componente. Objetos fora do componente utilizam as interfaces para se comunicar.
XAlgumas vezes, seus componentes precisarão acessar objetos fora do componente. Para isso, você precisará consultar as interfaces disponíveis nos outros componentes. Durante a modelagem, certifique-se de que haverá um local onde todas as interfaces possam ser consultadas.
X