Latest web development tutorials

modèle Front Controller

Avant contrôleur motif (Pattern Front Controller) est utilisé pour fournir un mécanisme centralisé de traitement des demandes, toutes les demandes sont traitées par un seul gestionnaire. Le gestionnaire peut faire l'authentification / autorisation / exploitation forestière ou de suivi des demandes, la demande au gestionnaire approprié. Ce qui suit est une entité de ce modèle de conception.

  • Front Controller (Front Controller) - un seul gestionnaire pour traiter tous les types de demandes d' une application, l'application peut être une application basée sur le Web qui peut être des applications de bureau.
  • Scheduler (Dispatcher) - contrôleur frontal peut utiliser un objet répartiteur d'envoyer la requête au gestionnaire spécifique approprié.
  • View (Vue) - vue est l'objet de la demande et créé.

réalisation

Nous allons créerFrontController,Dispatcher, respectivement, comme le contrôleur frontal et programmateur.AccueilVoiretStudentViewvue montrant une variété de contrôleur frontal reçoit une demande de création.

FrontControllerPatternDemo,notre classe de démonstration pour démontrer le modèle de conception Front ControllerFrontControllerutilisation.

modèle de contrôleur frontal diagramme UML

Etape 1

Création de la vue.

HomeView.java

public class AccueilVoir {
   show public void () {
      System.out.println ( "Page d'accueil Affichage");
   }
}

StudentView.java

public class StudentView {
   show public void () {
      System.out.println ( "Résultats pour l'élève»);
   }
}

Etape 2

Créer Dispatcher dispatcher.

Dispatcher.java

public class Dispatcher {
   privé StudentView studentView;
   privé AccueilVoir AccueilVoir;
   Dispatcher publique () {
      studentView = new StudentView ();
      AccueilVoir = new AccueilVoir ();
   }

   expédition public void (demande String) {
      if (request.equalsIgnoreCase ( "STUDENT")) {
         studentView.show ();
      } Else {
         homeView.show ();
      }	
   }
}

Etape 3

Création d'un FrontController du contrôleur frontal.

Context.java

public class FrontController {
	
   dispatcher Dispatcher privé;

   FrontController publique () {
      dispatcher = new Dispatcher ();
   }

   isAuthenticUser booléen privé () {
      System.out.println ( "L'utilisateur est authentifié avec succès.");
      return true;
   }

   vide trackRequest privé (demande String) {
      System.out.println ( "la page demandée:" + demande);
   }

   DispatchRequest public void (demande String) {
      // Enregistrement chaque demande trackRequest (demande);
      // Pour authentifier l'utilisateur si (isAuthenticUser ()) {
         dispatcher.dispatch (demande);
      }	
   }
}

Etape 4

FrontControllerpour démontrer l'utilisation du modèle de conception Front Controller.

FrontControllerPatternDemo.java

public class FrontControllerPatternDemo {
   main (String [] args) {public static void
      FrontController frontController = new FrontController ();
      frontController.dispatchRequest ( "HOME");
      frontController.dispatchRequest ( «étudiant»);
   }
}

Etape 5

Vérifiez la sortie.

Page demandée: HOME
L'utilisateur est authentifié avec succès.
Affichage Page d'accueil
Page demandée: STUDENT
L'utilisateur est authentifié avec succès.
Affichage élèves Page