Características desejáveis de design
2024-10-22 16:19:49 0 Relatar
Faça login para ver o conteúdo completo
Outras criações do autor
Esboço/Conteúdo
minimizar a complexidade
O principal objetivo do design deve ser minimizar a complexidade. Evite fazer "inteligentes" designs. Designs inteligentes geralmente são difíceis de entender. Em vez disso, faça designs "simples" e "fáceis de entender". Se seu design não permitir que você se imersione com segurança em uma parte específica sem ter que se preocupar com a maior parte do restante do programa, então esse design não está funcionando.
Fácil de manter
Fácil de manter significa projetar para o programador de manutenção. Imaginar constantemente as perguntas que o programador de manutenção fará sobre o código que você escreve. Considere o programador de manutenção como seu público e, em seguida, projetar o sistema para ser auto-explicativo.
conectividade mínima
A conectividade mínima significa minimizar as conexões entre diferentes partes de um programa durante o processo de design. Usar os princípios de coesão forte, acoplamento flexível e ocultação de informações para projetar classes com o mínimo possível de conexões. A conectividade mínima minimiza o trabalho durante a integração, teste e manutenção.
Reutilizabilidade
A reutilizabilidade significa que, ao projetar um sistema, você pode reutilizar suas partes em outros sistemas.
Lean
A lean é referir ao design de sistemas sem partes desnecessárias (Wirth, 1995; McConnell, 1997). Voltaire disse que o fim de um livro não é porque não é possível adicionar mais nada, mas porque não é possível tirar mais nada. Isso é ainda mais verdade em software, porque, ao modificar outros códigos, é necessário desenvolver, revisar, testar e considerar código adicional. As versões futuras do software devem ser compatíveis com o código adicional.
padronização
Um sistema é mais assustador para quem tenta entendê-lo pela primeira vez, quanto mais ele depende de partes externas. Tente usar métodos padronizados e universais para dar à todo o sistema uma sensação familiar.
escalabilidade
A extensibilidade significa que você pode melhorar o sistema sem quebrar a estrutura subjacente. Você pode alterar uma parte do sistema sem afetar outras partes do sistema. As alterações mais prováveis causam o menor trauma ao sistema.
Alta Fan-in
Alta fan-in refere-se ao grande número de classes que utilizam uma determinada classe. Alta fan-in significa que um sistema foi projetado para aproveitar ao máximo as classes práticas de nível inferior no sistema.
baixo grau de fãs
A baixa e média saída de fãs refere-se a um tipo que usa apenas uma baixa e média quantidade de outros tipos. Alta saída (mais de cerca de 7) indica que um tipo usa muitos outros tipos, portanto, pode ser muito complexo. Os pesquisadores descobriram que, independentemente do número de rotinas chamadas dentro de um procedimento, ou do número de rotinas chamadas dentro de uma classe, o princípio de baixa saída é benéfico.
portabilidade
Portabilidade refere-se ao fato de que o design do sistema deve ser fácil de ser movido para outro ambiente.
design em camadas
Design em camadas significa tentar manter o nível de decomposição em camadas para que você possa visualizar o sistema em qualquer nível e obter uma visão consistente. Ao projetar um sistema, você pode observar um nível sem precisar detalhar outros níveis.
0 Comentários
Próxima página
Recomendado para você
Ver mais