Latest web development tutorials

паттерн Front Controller

Фронт-контроллер модели (Front Controller Pattern) используется для обеспечения централизованный механизм для обработки запросов, все запросы обрабатываются одним обработчиком. Обработчик может выполнять аутентификацию / авторизацию / ведение журнала или запрос отслеживания, то запрос в соответствующий обработчик. Следующее является объектом данного шаблона проектирования.

  • Front Controller (Front Controller) - один обработчик для обработки всех типов запросов приложения, приложение может быть веб-приложение , которое может быть рабочий стол на основе приложений.
  • Планировщик (грузоотправитель) - передний конец контроллер может использовать диспетчерскую объект для отправки запроса к соответствующему конкретному обработчику.
  • Вид (View) - точка зрения объект запроса и создан.

реализация

Мы создадимFrontController,диспетчерских, соответственно, в качестве интерфейсного контроллера и планировщик заданий.HomeViewиStudentViewвид , показывающий различные фронтального контроллер получает запрос на создание.

FrontControllerPatternDemo,наша демонстрация класс для демонстрации использованияFrontControllerFront Controller шаблон проектирования.

Передний модели контроллера UML диаграмма

Шаг 1

Создать представление.

HomeView.java

Открытый класс HomeView {
   общественного недействительными шоу () {
      System.out.println ( "Отображение домашней страницы»);
   }
}

StudentView.java

Открытый класс StudentView {
   общественного недействительными шоу () {
      System.out.println ( "Отображение Ученикам");
   }
}

Шаг 2

Создание диспетчера диспетчеру.

Dispatcher.java

общественного класса грузоотправитель {
   частный StudentView studentView;
   частный HomeView homeView;
   общественного грузоотправитель () {
      studentView = новый StudentView ();
      homeView = новый HomeView ();
   }

   общественного недействительными отправка (запрос String) {
      если (request.equalsIgnoreCase ( "СТУДЕНТ")) {
         studentView.show ();
      } Else {
         homeView.show ();
      }	
   }
}

Шаг 3

Создание фронт-контроллера FrontController.

Context.java

Открытый класс FrontController {
	
   частный грузоотправитель грузоотправитель;

   общественного FrontController () {
      диспетчерская = новый грузоотправитель ();
   }

   частное логическое значение isAuthenticUser () {
      System.out.println ( "Пользователь успешно прошел проверку подлинности.");
      возвращает истину;
   }

   частная пустота trackRequest (запрос String) {
      System.out.println ( "Запрошенная страница:" + запрос);
   }

   общественного недействительными dispatchRequest (запрос String) {
      // Запись каждый запрос trackRequest (запрос);
      // Для аутентификации пользователя, если (isAuthenticUser ()) {
         dispatcher.dispatch (запрос);
      }	
   }
}

Шаг 4

FrontController, чтобы продемонстрировать использование шаблона проектирования Front Controller.

FrontControllerPatternDemo.java

Открытый класс FrontControllerPatternDemo {
   государственной статической силы основных (String []) {агдз
      FrontController FrontController = новый FrontController ();
      frontController.dispatchRequest ( "HOME");
      frontController.dispatchRequest ( "СТУДЕНТ");
   }
}

Шаг 5

Проверьте выход.

Запрашиваемой страницы: НАЧАЛО
Пользователь успешно прошел проверку подлинности.
Отображение Главная страница
Страница просьба: СТУДЕНТ
Пользователь успешно прошел проверку подлинности.
Отображение Ученикам