Clean Code – OBJETOS E ESTRUTURAS DE DADOS

Present Day, Present Time HAHAHAHA

Clean Code – OBJETOS E ESTRUTURAS DE DADOS

Abril 25, 2023 dev 0

A abstração faz com que não precisemos nos preocupar com os detalhes de implementação.


  • Os perigos das estruturas de dados: As estruturas de dados, assim como as classes com atributos públicos, tendem a expor seus detalhes internos e tornam difícil adicionar novos comportamentos sem alterar sua estrutura subjacente. Por outro lado, os objetos encapsulam os detalhes internos e expõem apenas um conjunto limitado de comportamentos através de métodos públicos. Isso torna mais fácil adicionar novos comportamentos sem alterar a estrutura subjacente e reduz a probabilidade de efeitos colaterais. Ex.:


  • Procedimentos ou funções?: Em geral, as funções são mais fáceis de entender, testar e manter do que os procedimentos, a escolha entre procedimentos e funções deve ser feita com base nas necessidades do problema que está sendo resolvido MAS, devemos utilizar funções sempre que possível e procedimentos devem ser evitados. Ex.:


  • Abstração de dados: Podemos abstrair os dados por meio da criação de classes e objetos que os encapsulam, juntamente com seus comportamentos relacionados. Essas classes fornecem uma interface pública definida que os usuários podem usar para acessar e manipular os dados.
    Um exemplo comum de abstração de dados é a classe List em Java. A classe List fornece uma interface pública consistente e bem definida que os usuários podem usar para adicionar, remover e acessar elementos em uma lista. Não é preciso saber como a lista é implementada internamente, só saber como usar a interface pública para trabalhar com a lista.

  • A diferença entre objetos e estruturas de dados: Em geral, as estruturas de dados são mais adequadas para algoritmos simples que manipulam dados diretos, enquanto objetos são mais adequados para sistemas complexos com regras de negócios e com polimorfismo.
    Um exemplo de estrutura de dados é um array, onde os dados são expostos e as funções são definidas separadamente. Um exemplo de objeto seria uma classe em um aplicativo web que encapsula a lógica de negócios e expõe funcionalidades públicas para manipulação de dados.

  • Encapsulamento: Trata-se da prática de ocultar os detalhes internos de um objeto e expor apenas sua interface pública. Para o encapsulamento, devemos manter as propriedades privadas e fornecer métodos públicos para acessá-los e modificá-los, se necessário. Ex.:


O bom design de software requer um equilíbrio entre objetos e estruturas de dados, bem como a utilização adequada do encapsulamento para ocultar os detalhes de implementação de um objeto e proteger seus dados.

 

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *