Latest web development tutorials

padrão Front Controller

Front Controller padrão (padrão Front Controller) é usado para fornecer um mecanismo centralizado para o tratamento dos pedidos, todos os pedidos são processados ​​por um único manipulador. O manipulador pode fazer a autenticação / autorização / registo ou a pedido de rastreamento, em seguida, a solicitação para o manipulador adequado. O que se segue é uma entidade deste padrão de projeto.

  • Front Controller (Controlador de frente) - um único manipulador para processar todos os tipos de solicitações de um aplicativo, o aplicativo pode ser um aplicativo baseado na web que podem ser aplicativos baseados em desktop.
  • Scheduler (Dispatcher) - controlador de front-end pode usar um distribuidor de objetos para despachar a solicitação para o manipulador específico apropriado.
  • View (Vista) - vista é o objeto do pedido e criado.

realização

Vamos criarFrontController,Dispatcher, respectivamente, como o controlador de front-end e agenda.HomeVieweStudentViewvista que mostra uma variedade de controlador de front-end recebe um pedido para criar.

FrontControllerPatternDemo,a nossa classe de demonstração para demonstrar o usoFrontControllerFront Controller padrão de design.

Frente padrão Controlador UML diagrama

passo 1

Criar a vista.

HomeView.java

HomeView classe pública {
   show de public void () {
      System.out.println ( "Resultados Home Page");
   }
}

StudentView.java

StudentView classe pública {
   show de public void () {
      System.out.println ( "Resultados Student Página");
   }
}

passo 2

Criar Dispatcher despachante.

Dispatcher.java

Dispatcher classe pública {
   StudentView studentView privado;
   HomeView HomeView privado;
   Dispatcher pública () {
      studentView = new StudentView ();
      HomeView = new HomeView ();
   }

   expedição public void (request String) {
      if (request.equalsIgnoreCase ( "estudante")) {
         studentView.show ();
      } Else {
         homeView.show ();
      }	
   }
}

passo 3

Criando um FrontController controlador de frente.

Context.java

FrontController classe pública {
	
   despachante Dispatcher privado;

   FrontController pública () {
      dispatcher = new Dispatcher ();
   }

   isAuthenticUser private boolean () {
      System.out.println ( "usuário é autenticado com sucesso.");
      return true;
   }

   vazio trackRequest privada (request String) {
      System.out.println ( "página solicitada:" + pedido);
   }

   dispatchRequest public void (request String) {
      // Registra cada solicitação trackRequest (request);
      // Para autenticar o usuário se (isAuthenticUser ()) {
         dispatcher.dispatch (request);
      }	
   }
}

passo 4

FrontControllerpara demonstrar o uso do padrão de design Front Controller.

FrontControllerPatternDemo.java

FrontControllerPatternDemo classe pública {
   main (String [] args) public static void {
      FrontController frontController = new FrontController ();
      frontController.dispatchRequest ( "HOME");
      frontController.dispatchRequest ( "estudante");
   }
}

passo 5

Verifique saída.

Página solicitada: Página
Usuário é autenticado com sucesso.
Exibindo Página
Página solicitada: ESTUDANTE
Usuário é autenticado com sucesso.
Exibindo Student Página