3.1.2 - Composição / Agregação
A composição é relacionada à decomposição, mas não é exatamente o oposto de decomposição.
Por vezes, as duas não se distinguem uma da outra. Você pode perceber que o seu componente pode ser montado a partir de um banco de dados relacional, servidor Web, e alguns componentes personalizados (a lógica do aplicativo). Neste sentido você compôs o sistema usando três componentes: dois com propriedades bem conhecidas e uma terceira que é a funcionalidade restante não alcançada com os dois primeiros. Mas esta composição pode também ser pensada como uma decomposição do sistema em três componentes.
3.1.3- Comunicação de Componentes
Quando um componente é dividido em dois componentes, existe um canal de comunicação implícita introduzido entre eles. A comunicação realizada através da interface pode ser síncrona ou assíncrona. Comunicação assíncrona dissocia o processamento de dois componentes, o que os tornam concorrentes. Isso pode melhorar o desempenho e a confiabilidade. No entanto, isso aumenta a complexidade do sistema, tornando-o mais difícil de criar e depurar, e requer funções de domínio adicionais.