Latest web development tutorials

wzorzec Front Controller

Kontroler wzór z przodu (Front Controller Wzorzec) jest używany w celu zapewnienia scentralizowanego mechanizmu rozpatrywania wniosków, wszystkie wnioski są przetwarzane przez jednego przewodnika. Przewodnik może zrobić uwierzytelniania / zezwolenie / rejestrowanie lub prośbę śledzenia, a następnie wniosek do właściwej obsługi. Poniższa jest podmiotem tego wzorca projektowego.

  • Kontroler z przodu (Front Controller) - pojedynczy obsługi do przetwarzania wszystkich rodzajów wniosków aplikację, aplikacja może być aplikacją internetową, która może być oparte na aplikacji biurowych.
  • Harmonogram (Dyspozytor) - sterownik front-end może używać dyspozytor obiekt do wysłania wniosku do właściwego szczególnego obsługi.
  • Widok (View) - widok jest przedmiotem wniosku i stworzył.

realizacja

StworzymyFrontController,wysyłający, odpowiednio, jako kontroler front-end i harmonogramu.HomeViewiStudentViewwidok pokazujący różnorodność kontrolera front-end odbiera żądanie utworzenia.

FrontControllerPatternDemo,nasza klasa demonstracja wykazać wykorzystaniuFrontControllerFront Controller wzorca projektowego.

Przedni wzór Kontroler diagram UML

Etap 1

Tworzenie widoku.

HomeView.java

{public class HomeView
   public void show () {
      System.out.println ( "Wyświetlanie Strona główna");
   }
}

StudentView.java

{public class StudentView
   public void show () {
      System.out.println ( "Wyświetlanie Student Page");
   }
}

Etap 2

Tworzenie dyspozytora dyspozytora.

Dispatcher.java

{public class Dyspozytor
   prywatne StudentView studentView;
   prywatne HomeView homeView;
   publiczna Dyspozytor () {
      studentView = new StudentView ();
      homeView = new HomeView ();
   }

   public void wysyłka (wniosek String) {
      if (request.equalsIgnoreCase ( "student")) {
         studentView.show ();
      } Else {
         homeView.show ();
      }	
   }
}

etap 3,

Tworzenie kontrolera frontowego FrontController.

Context.java

{public class FrontController
	
   Dyspozytor Dyspozytor prywatne;

   publicznego FrontController () {
      Dyspozytor Dyspozytor = new ();
   }

   private boolean isAuthenticUser () {
      System.out.println ( "uwierzytelnieniu użytkownika pomyślnie.");
      return true;
   }

   private void trackRequest (request String) {
      System.out.println ( "Strona wnioskuje:" + request);
   }

   public void dispatchRequest (request String) {
      // Rekord każde żądanie trackRequest (request);
      // Do uwierzytelnienia użytkownika if (isAuthenticUser ()) {
         dispatcher.dispatch (request);
      }	
   }
}

Etap 4

FrontControllerwykazać korzystania z wzorca projektowego Front Controller.

FrontControllerPatternDemo.java

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

Etap 5

Sprawdź, czy wyjście.

Strona o: HOME
Uwierzytelnieniu użytkownika pomyślnie.
Wyświetlanie stronę główną
Strona o: STUDENT
Uwierzytelnieniu użytkownika pomyślnie.
Wyświetlanie Student stronę