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