Escolar Documentos
Profissional Documentos
Cultura Documentos
▪
▪
▪
▪
▪
▪
• O arquiteto de software deve ter uma visão sistêmica do sistema;
private ConnectionManager() {}
}
public class OracleLivroDAO implements LivroDAO {
}
TRANSFER OBJECT
• Também conhecido como DTO (Data Transfer Objects) ou, antigamente, VO (Value
Objects).
• Evita que se faça diversas chamada a um objeto (que poderia ser remoto) para
recuperar valores de atributos um a um. Com o padrão TO, todas as propriedades são
retornadas em um objeto;
• É aconselha-se criar as classes TO para todas as entidades do projeto e agrupa-las num pacote,
exemplos: br.com.fiap.projeto.to ou br.com. fiap.projeto.entidades.
import java.io.Serializable;
• Assim, cria-se um objeto DAO para cada uma das entidades do projeto encapsulando
nele os métodos de manipulação dos dados CRUD (Create, Read, Updade e Delete);
public class LivroDAO {
}
public interface LivroDAO {
List<Livro> listar();
void inserir(Livro livro);
@Override
public List<Livro> listar() {
// Implementação..
}
@Override
public void inserir(Livro livro) {
// Implementação..
}
}
public class LivroBo {
}
public class OracleLivroDAO implements LivroDAO {
}
DAO FACTORY
• Utilizado quando o repositório de dados não está sujeito a mudanças frequentes. Trata-
se de uma fábrica de DAOs para um tipo específico de repositório de dados;
Cenário de Exemplo:
• Determinada instituição utiliza somente banco de dados Oracle e não existe previsão de
mudança. Não é conveniente criar uma estrutura complexa, somente pela possiblidade
de suportar diversos tipos de banco de dados, tendo em vista que não há previsão de
mudança do atual.
public class OracleLivroDAO implements LivroDAO {
}
public abstract class DAOFactory {
}
“O que a pessoa pensa a respeito de si mesmo indica o seu destino”.
(Henry David Thoreau, adaptado)