Mico Java 2

Feliz 2018 galera, começaremos o ano com a nossa série de “micos java”, coisas que são permitidas de serem feitas no idioma da linguagem ou na OOP, mas que são sem sentido ou que ferem a boa prática ou pattern de uso geral. Hoje falaremos da famosa Inveja de Dados.

Você já percebeu que existem por ai objetos em algumas empresas que são invejosos? Ficam acessando dados dos outros objetos para fazer logicas próprias.  Segue um clássico exemplo:

Temos acima um humilde POJO, fazendo seu trabalho de representar uma abstração. Veja o invejoso abaixo:

A classe venda se enquadra em um objeto conhecido como invejoso, pois ele esta acessando dados de outros objetos para fazer logicas próprias. A inveja mata! Em sistema OOP, mata a qualidade mesmo!

Isso na verdade é mais clássico furo de encapsulamento do mundo da orientação a objetos. Cada objeto deve ser responsável por esconder detalhes próprios e responder por si  mesmo para  outros a cerca de suas características e comportamentos. Entenda que, se existe algum comportamento que usa dados de um objeto, o lugar que esse método deve ser colocado e dentro do próprio objeto.

Segue abaixo a implementação correta do funcionário respondendo por si sobre suas próprias características e existência:

Segue abaixo a classe venda agora corretamente se relacionando com a funcionário sem ter inveja do seus dados:

É seguindo passos simples como este que se cria um sistema verdadeiramente orientado a objetos, que valoriza o encapsulamento, promove reutilização e propagação de manutenibilidade facilitada. Boa semana a todos!

Para todas as informações, veja o post inicial dessa série.

“Eu não me envergonho do evangelho, pois ele é o poder de Deus para salvar todos os que creem, primeiro os judeus e também os não judeus.” Romanos 1:16

Anúncios

Os comentários estão encerrados.

Blog no WordPress.com.

Acima ↑

%d blogueiros gostam disto: