Latest web development tutorials

pola Front Controller

Front Controller pola (Front Controller Pola) digunakan untuk menyediakan mekanisme terpusat untuk menangani permintaan, semua permintaan diproses oleh handler tunggal. pawang dapat melakukan otentikasi / otorisasi / logging atau permintaan pelacakan, maka permintaan ke handler yang sesuai. Berikut ini adalah entitas dari pola desain ini.

  • Front Controller (Front Controller) - penangan tunggal untuk memproses semua jenis permintaan aplikasi, aplikasi dapat menjadi aplikasi berbasis web yang dapat aplikasi berbasis desktop.
  • Scheduler (Dispatcher) - front-end controller dapat menggunakan benda operator untuk mengirimkan permintaan ke handler spesifik yang sesuai.
  • Lihat (View) - lihat adalah objek dari permintaan dan menciptakan.

realisasi

Kami akan membuatFrontController,Dispatcher, masing-masing, sebagai pengendali front-end dan scheduler.HomeViewdanStudentViewpandangan yang menunjukkan berbagai kontroler front-end menerima permintaan untuk membuat.

FrontControllerPatternDemo,kelas demonstrasi kami untuk menunjukkan penggunaan pola desainFrontControllerFront Controller.

Pola Pengendali depan diagram UML

Langkah 1

Buat tampilan.

HomeView.java

public class HomeView {
   public void show () {
      System.out.println ( "Menampilkan Halaman");
   }
}

StudentView.java

public class StudentView {
   public void show () {
      System.out.println ( "Menampilkan Student Halaman");
   }
}

Langkah 2

Buat Dispatcher operator.

Dispatcher.java

public class Dispatcher {
   swasta StudentView studentView;
   swasta HomeView homeView;
   publik Dispatcher () {
      studentView = baru StudentView ();
      homeView = baru HomeView ();
   }

   public void pengiriman (permintaan String) {
      jika (request.equalsIgnoreCase ( "MAHASISWA")) {
         studentView.show ();
      } Lain {
         homeView.show ();
      }	
   }
}

Langkah 3

Membuat controller FrontController depan.

Context.java

public class FrontController {
	
   swasta Dispatcher operator;

   publik FrontController () {
      dispatcher = baru Dispatcher ();
   }

   isAuthenticUser boolean swasta () {
      System.out.println ( "Pengguna berhasil dikonfirmasi.");
      kembali benar;
   }

   private void trackRequest (permintaan String) {
      System.out.println ( "Halaman yang diminta:" + permintaan);
   }

   public void dispatchRequest (permintaan String) {
      // Rekam setiap permintaan trackRequest (permintaan);
      // Untuk otentikasi pengguna jika (isAuthenticUser ()) {
         dispatcher.dispatch (permintaan);
      }	
   }
}

Langkah 4

FrontControlleruntuk menunjukkan penggunaan pola desain Front Controller.

FrontControllerPatternDemo.java

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

Langkah 5

Verifikasi output.

Halaman yang diminta: HOME
Pengguna berhasil dikonfirmasi.
Menampilkan Halaman
Halaman yang diminta: MAHASISWA
Pengguna berhasil dikonfirmasi.
Menampilkan Mahasiswa Halaman