Latest web development tutorials

pola facade

Pola fasad (Facade Pola) menyembunyikan kompleksitas sistem untuk klien menyediakan klien dapat mengakses sistem antarmuka. Jenis pola desain milik model struktural, ia menambahkan sebuah antarmuka untuk sistem yang ada, untuk menyembunyikan kompleksitas sistem.

Model ini melibatkan satu kelas, yang menyediakan pendekatan yang disederhanakan permintaan klien dan panggilan delegasi dengan metode kelas sistem yang ada.

pengenalan

Maksud: subsistem inimenyediakan satu set antarmuka dalam antarmuka yang konsisten, skema mendefinisikan penampilan antarmuka tingkat tinggi yang membuat subsistem yang lebih mudah digunakan.

Solusi utama: mengurangi kompleksitas mengakses subsistem internal saat sistem yang kompleks, menyederhanakan client dengan antarmuka.

Kapan menggunakan: 1, klien tidak perlu tahu sistem di dalam link kompleks, seluruh sistem hanya perlu menyediakan "resepsionis" dapat.2, inlet menentukan sistem.

Cara untuk memperbaiki: klien tidak digabungkan dengan sistem, sistem ditambah dengan munculnya kelas.

Kode kunci: antara sistem klien dan menambahkan lapisan kompleksitas, kali ini akan memanggil urutan, ketergantungan dan penanganan lainnya.

contoh aplikasi: 1, pergi ke rumah sakit, Anda mungkin pergi ke pendaftaran, rawat jalan, harga yang ditunjuk, apotek, pasien atau anggota keluarga pasien merasa sangat rumit, jika ada disediakan staf resepsi, hanya membiarkan staf penerimaan untuk menangani, sangat nyaman.2, JAWA model pembangunan tiga-tier.

Keuntungan: 1, untuk mengurangi sistem saling bergantung.2, meningkatkan fleksibilitas. 3, untuk meningkatkan keamanan.

Kekurangan: tidak sesuai dengan prinsip pembukaan dan penutupan, jika Anda ingin mengubah hal-hal terlalu banyak masalah, warisan menulis ulang yang tidak pantas.

Penggunaan skenario: 1, untuk menyediakan akses ke modul eksternal modul kompleks atau subsistem.2, subsistem relatif independen. 3, pencegahan risiko personil tingkat rendah.

Catatan: Dalam struktur hirarki, Anda dapat menggunakan sistem untuk menentukan penampilan mode entri untuk setiap lapisan.

realisasi

Kami akan membuat antarmukaBentukdan pelaksanaan antarmukaShapekelas entitas. Langkah selanjutnya adalah menentukanShapeMakerkelaskulit.

kelasShapeMakermenggunakan kelas entitas untuk mewakili pengguna panggilan ke kelas-kelas ini.FacadePatternDemo,kelas demonstrasi kami menggunakan kelasShapeMakeruntuk menampilkan hasil.

pola Facade diagram UML

Langkah 1

Buat sebuah antarmuka.

Shape.java

antarmuka publik Shape {
   kekosongan draw ();
}

Langkah 2

Membuat kelas entitas yang mengimplementasikan antarmuka.

Rectangle.java

public class Rectangle mengimplementasikan Shape {

   @ Override
   public void draw () {
      System.out.println ( "Rectangle :: draw ()");
   }
}

Square.java

public class persegi mengimplementasikan Shape {

   @ Override
   public void draw () {
      System.out.println ( "Square :: draw ()");
   }
}

Circle.java

public class Lingkaran mengimplementasikan Shape {

   @ Override
   public void draw () {
      System.out.println ( "Lingkaran :: draw ()");
   }
}

Langkah 3

Menciptakan penampilan kelas.

ShapeMaker.java

public class ShapeMaker {
   lingkaran Bentuk swasta;
   Bentuk persegi panjang pribadi;
   Bentuk persegi swasta;

   publik ShapeMaker () {
      lingkaran = baru Circle ();
      persegi panjang = new Rectangle ();
      persegi = new Square ();
   }

   public void drawCircle () {
      circle.draw ();
   }
   public void drawRectangle () {
      rectangle.draw ();
   }
   public void drawSquare () {
      square.draw ();
   }
}

Langkah 4

Penggunaan berbagai jenis kelas kulit untuk menggambar bentuk.

FacadePatternDemo.java

public class FacadePatternDemo {
   public static void main (String [] args) {
      ShapeMaker shapeMaker = baru ShapeMaker ();

      shapeMaker.drawCircle ();
      shapeMaker.drawRectangle ();
      shapeMaker.drawSquare ();		
   }
}

Langkah 5

Verifikasi output.

Lingkaran :: imbang ()
Rectangle :: imbang ()
Persegi :: imbang ()