Plain Old Java Object – POJO
Plain Old Java Object ou POJO, são objetos Java que seguem um desenho extremamente simplificado. Um POJO é um JavaBean que segue definições rígidas de estrutura, sendo elas:
- Possui um construtor default (padrão - sem argumentos) ou não declarar construtor (assim o compilador Java criara um construtor default automaticamente);
- Possui todos os seus atributos, sejam eles tipos primitivos ou objetos, com a visibilidade privada;
- Não possui métodos específicos, exceto aqueles que seguem o padrão de getter e setter para seus respectivos atributos
OBS: O padrão getter é a forma de pegar o valor do atributo e o padrão setter é a forma de alterar o valor do atributo.
Este padrão é baseado na idéia de que quanto mais simples o projeto, melhor. O termo foi inventado por Martin Fowler, Rebecca Parsons e Josh MacKenzie em Setembro de 2000. “Nós queríamos saber por que as pessoas eram contra o uso de objetos regulares em seus sistemas e concluímos que era devido à falta de um nome extravagante para eles. Assim nós demos-lhes um, e funcionou muito bem.”. O termo segue o padrão de atribuir um nome para tecnologias que não possuem nenhuma característica nova.
O termo ganhou aceitação por causa da necessidade de um termo comum e facilmente inteligível que contrasta com os complicados frameworks de objetos. É mais atrativo do que o termo bean do Java devido à confusão gerada pela semelhança dos termos JavaBeans e dos EJB (Enterprise JavaBeans).
Segue abaixo alguns exemplos do que pode ser considerado um POJO: