Considerações de design da hierarquia de classes para extensibilidade
Mesmo hierarquias de classe com bom design precisam evoluir ao longo do tempo.As opções iniciais feitas ao projetar uma hierarquia de classe podem simplificar seu trabalho mais tarde.
Estendendo hierarquias de classe
A lista a seguir contém sugestões para tornar suas hierarquias de classe mais fáceis de estender:
Hierarquias de classe são definidas do geral para o específico.Define classes tão gerais quanto possível em cada nível de uma hierarquia de herança.Classes derivadas podem herdar, reutilizar e estender os métodos de classes base.
Suponha que, por exemplo, você está criando uma hierarquia de classe que modela hardware do computador.Quando você iniciar a modelagem de dispositivos de saída você poderia definir classes chamadas Display,Printer e File.Em seguida, você pode definir as classes que implementam os métodos definidos nas classes base.Por exemplo, a classe LCDDisplay pode ser derivada de Display e implementa em um método chamado EnterPowerSaveMode.
Seja generoso ao definir tipos de dados e armazenamento para evitar alterações difíceis no futuro.Por exemplo, você pode considerar o uso uma variável do tipo Long mesmo que os dados atuais precisem apenas de uma variável Integer padrão.
Expor somente itens que são necessárias para classes derivadas.Private campos e métodos reduzem conflitos de nomenclatura e protegem a outros usuários a partir de uso itens que talvez seja necessário alterar posteriormente.
Os membros que são necessitados apenas pelas classes derivadas devem ser marcados como Protected.Isso garante que somente as classes derivadas dependem desses membros e facilita a atualização desses membros durante o desenvolvimento.
Certifique-se que os métodos da classe base não dependem de membros Overridable, cuja funcionalidade pode ser alterada ao herdar classes.
Consulte também
Conceitos
Considerações para escolher os níveis de acesso para métodos
Alterações de Design de Classe Base Após a Implementação