UNIVERSIDADE CATÓLICA DE BRASÍLIA 2011 PAULO LIMA aluno FERNANDO GOULART orientador
Apresentação dos conceitos básicos
Virtudes: Abstração; Herança; Reusabilidade; Regras de negócio; Encapsulamento; Camadas Vícios: Otimização; Complexidade; Desorganização;
Virtudes Otimização; Boa visualização dos dados; Segurança; Independência de paradigmas; Padrão industrial; Vícios: Conectores; Diversos dialetos; Complexidade nas instruções; Manutenibilidade;
Manter os dados da aplicação coesos e seguros; Permitir que diferentes aplicações utilizem os mesmos dados; Existem outras formas de se obter esse resultado; Desenvolver as regras de negócio com mais facilidade;
Camada de persistência; Padrões de projeto; Table data gateway; Row data gateway; Data mapper; Active record; Outras opções / variações; Manutenibilidade;
Uma visão sobre casos de sucesso na resolução dos problemas apresentados
Definição: Classe que irá conter todos os códigos SQL para acesso a uma determinada tabela ou view; Separação das regras de negócio; Uma classe por tabela, evitando bagunça; Deve retornar somente um tipo de dado;
Consiste em representar um único registro em uma determinada tabela no banco de dados; Overhead de memória;
Isolamento entre os objetos de negócios e os dados no banco; Transparência; Mapeamento entre objetos na aplicação e tabelas no banco;
Um único objeto com métodos comportamentais e métodos para realizar a persistência; Caso seja muito complexo o objeto a ser persistido, o desempenho caí drasticamente;
Considere: Complexidade da aplicação; Parque computacional; Tempo disponível; Capacidade técnica; Faça adaptações, caso necessário;
Protótipação em PHP
Como descobrir a quem pertence um determinado atributo? Caso hajam dois atributos na classe pai e filha com o mesmo nome, não é possível determinar de qual se trata; Reflexão;
Técnica que consistem em levantar informações sobre um determinado recurso em tempo de execução; Nativamente implementado no PHP;
Agenda: Models; Actions;