Design Patterns
Salve povo!
Bom, finalmente aderi ao meio de programação orientado à objetos com design patterns etc etc etc...
Diante disso, eu montei aqui uma pequena aplicação para tentar entender tudo que eu andei lendo nesses últimos dias. E com isso, surgiram algumas dúvidas.
OBS: a aplicaçãozinha que fiz, funcionou :)
"Vamo" lá:
Vou descrever passo a passo do que está ocorrendo:
Objetivo: Inserir dados de um formulário no banco de dados.
1. Usuário preenche um formulário e o submete.
2. O arquivo sistema/mensagem.php que controla o template, recebe essa "requisição" via POST. Ele checa se os dados básicos foram preenchidos e se estão preenchidos da forma que era esperada. Estando ok, ele passa os dados para a Entidade responsável pelas mensagens.
3. O arquivo negocio/MensagemEntidade.php recebeu anteriormente os dados da camada do usuário e já tem a entidade "pronta"
4. É chamado o método Adicionar() do arquivo negocio/Mensagem.php . Esse método tem como parametro a Entidade Mensagem. Passo a entidade e ele[Adicionar()], herda (e chama, o instantcia) a classe arquitetura/BancoDados.php que faz a conexão estática com o banco de dados usando o PDO. Se os dados forem inseridos sem problemas, retorna "true" que é transmitido lá para o arquivo sistema/mensagem.php (template, contato com usuário) que vendo que deu certo, retorna no template que a mensagem foi salva etc etc e etc.
Ótimo, isso funciona. Porém, fiquei na dúvida:
1. Deixei de usar aí nesse meio a Pattern Data Access Object (DAO), pois eu penso que ela seria necessária caso o banco fosse sofre "alterações" após a implantação.
2. Deixei a cargo do arquivo sistema/mensagem.php a verificação dos dados recebidos do form, porém, eu vi por aí um tal de Session Façade que parece que seria exatamente para isso. Verificar os dados passados pelo usuário e retornar mensagens de erro e tal. Pelo que vi ainda, ele pegaria os dados da Entidade para a verificação. Ou seja: cliente manda os dados -> cria-se a entidade -> o façade faria verificação -> passaria para a camada de negócio e tal...
E pelo que eu entendi também, nesse modelo que apresentei temos:
1. MVC (sistema dividindo em camadas com os templates e tal)
2. Singleton (conexão estática com o banco de dados)
Bom, como tudo isso vai da questão do estilo de programação de cada um, eu gostaria de sugestões, troca de idéias sobre esse assunto.. um bate papo =)
Abraços!
Discussão (2)
Carregando comentários...