Pontos de Verificação: Cápsula
- O nome e a descrição da cápsula retratam com exatidão o papel assumido pela cápsula no sistema.
- A cápsula tem uma finalidade bem definida e engloba um único conjunto de responsabilidades relacionadas.
- A cápsula representa um foco importante de controle no sistema, bem como um importante thread de controle no sistema.
- Os papéis assumidos pela cápsula refletem nas portas externas, e cada papel tem uma ou mais portas distintas.
- Nenhuma porta é usada em mais de um papel.
- Onde houver necessidade de controlar a interação de cenários simultâneos, foi usada uma cápsula com várias portas distintas.
- As cápsulas de interface foram usadas para fornecer desacoplamento onde são esperadas mudanças futuras.
- As cápsulas foram usadas efetivamente para isolar possíveis mudanças futuras e decisões de design.
- As cápsulas de coordenador são usadas para gerenciar relacionamentos complexos e dinâmicos entre entidades (sejam um-para-muitos ou muitos -para-muitos).
- As cápsulas de coordenador são usadas onde há necessidade de mediar cápsulas para o encapsulamento de um processo.
- O pedido de inicialização foi considerado corretamente.
- O início e a sincronização de threads de controle independentes foram considerados.
- A herança é usada de modo adequado.
- Não há evidências de uma hierarquia de generalização ou de especialização muito ampla ou muito profunda.
- O aspectos comuns óbvios estão refletidos na hierarquia de herança.
- A herança não está sendo usada primariamente para considerações de implementação (por exemplo, reutilização de código), mas sim, como um modo de capturar abstrações de design comuns.
- As superclasses não são simples mesclagens dos atributos das subclasses, ao contrário, representam uma abstração lógica.
- A hierarquia de herança não contém classes abstratas intermediárias com propriedades ortogonais.
Consulte tambémPontos de Verificação: Classes de Design
| |
|