Olá amigos. Nesta oportunidade falarei da SESSION FACADE.
A Session Facade tem um conjunto de métodos de negócio, responsável por acessar e atualizar dados. É um ponto de entrada único dos dados e funcionalidades. É uma camada de controle da lógica de negócio da aplicação. Construiremos os métodos inserirCliente e recuperarClientes.
IMPORTANTE: No caso só uma session façade para o sistema, no caso de muitas classe, esse session irá controlar toda a lógica delas, ou seja, toda a lógica de negócio do sistema será controlada pela façade.
Procedimento: Na pasta "siscliente" em negócio iremos criar o arquivo.
SessionFacade.class.php
SessionFacade.class.php
require_once("cliente/Cliente.class.php");
require_once("cliente/ClienteDAO.class.php");
class SessionFacade {
public $banco;
public function SessionFacade(BancodeDados $banco) {
$this->banco = $banco;
}
public function inserirCliente(Cliente $cliente) {
if($cliente->getNome() == NULL) {
throw new Exception("O NOME É UM CAMPO OBRIGATÓRIO");
}
if($cliente->getTelefone() == NULL) {
throw new Exception("O TELEFONE É UM CAMPO OBRIGATÓRIO");
}
if($cliente->getEndereco() == NULL) {
throw new Exception("O ENDEREÇO É UM CAMPO OBRIGATÓRIO");
}
$clienteDAO = new ClienteDAO();
$clienteDAO->setBancoDados($this->banco);
$clienteDAO->inserir($cliente);
}
public function recuperarClientes() {
$clienteDAO = new ClienteDAO();
$clienteDAO->setBancoDados($this->banco);
return $clienteDAO->recuperarTodos();
}
/* PARA OS MÉTODOS DE ALTERAR E EXCLUIR SEGUE O MESMO PROCEDIMENTO, PODENDO TAMBÉM SER FEITOS MÉTODOS PARA REALIZAR FUNÇÕES, EX: RECUPERARPORDATA, ETC. */
}
O método construtor recebe como parâmetro o banco de dados passado por referência, e o atribui a variável banco que será usada pelos métodos.
A validação dos dados eu faço com excessões que serão disparadas quando o dado não estiver de acordo com a regra.
Instancio o ClienteDAO, passo o banco por referência já conectado para o objeto usá-lo. Caso haja algum erro no ClienteDAO, lá é disparada uma excessão. É preciso dar um require_once das classes que serão usadas sempre.
Assim funciona a SessionFacade. Se houver mais classes, elas também são controladas nesta session. No próximo artigo veremos como funciona a chamada da façade e a passagem de parâmetros.
Abraço!












4 Comentários
Qual a sua opinião?