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.
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