mod penampilan
Corak Fasad menyembunyikan kerumitan sistem dan menyediakan pelanggan dengan antara muka di mana pelanggan boleh mengakses sistem. Corak reka bentuk jenis ini ialah corak struktur yang menambah antara muka pada sistem sedia ada untuk menyembunyikan kerumitan sistem.
Corak ini melibatkan satu kelas yang menyediakan kaedah yang dipermudahkan untuk permintaan pelanggan dan panggilan yang diwakilkan kepada kaedah kelas sistem sedia ada.
Pengenalan
Niat: Menyediakan antara muka yang konsisten untuk set antara muka dalam subsistem Corak penampilan mentakrifkan antara muka peringkat tinggi yang menjadikan subsistem ini Lebih Mudah digunakan .
Penyelesaian utama: Kurangkan kerumitan mengakses subsistem dalaman sistem kompleks dan mudahkan antara muka pelanggan dengannya.
Bila menggunakan: 1. Pelanggan tidak perlu mengetahui sambungan kompleks dalam sistem, keseluruhan sistem hanya perlu menyediakan "penyambut tetamu". 2. Tentukan pintu masuk ke sistem.
Cara menyelesaikan: Pelanggan tidak digabungkan dengan sistem, dan kelas penampilan digabungkan dengan sistem.
Kod kunci: Tambahkan lapisan lain antara klien dan sistem kompleks, kali ini urutan panggilan, kebergantungan, dsb. akan dikendalikan dengan betul.
Contoh permohonan: 1 Apabila anda pergi ke hospital untuk berjumpa doktor, anda mungkin perlu mendaftar, pergi ke klinik, merundingkan harga, dan mendapatkan ubat, yang menyebabkan pesakit. atau keluarganya berasa sangat rumit Jika ada penyambut tetamu, hanya biarkan Ia adalah sangat mudah untuk mempunyai kakitangan penyambut tetamu mengendalikannya. 2. Model pembangunan tiga peringkat JAVA.
Kelebihan: 1. 2. Meningkatkan fleksibiliti. 3. Keselamatan yang dipertingkatkan.
Kelemahan: tidak mematuhi prinsip pembukaan dan penutup Jika menyusahkan untuk mengubah sesuatu, pewarisan dan penulisan semula tidak sesuai.
Senario penggunaan: 1. 2. Subsistem secara relatifnya bebas. 3. Mencegah risiko yang disebabkan oleh kakitangan peringkat rendah.
Nota: Dalam struktur hierarki, anda boleh menggunakan corak penampilan untuk menentukan pintu masuk ke setiap lapisan dalam sistem.
Pelaksanaan
Kami akan mencipta antara muka Shape dan kelas entiti yang melaksanakan antara muka Shape. Langkah seterusnya ialah untuk menentukan kelas penampilan ShapeMaker. Kelas
ShapeMaker menggunakan kelas entiti untuk mewakili panggilan pengguna ke kelas ini. FacadePatternDemo, kelas demo kami menggunakan kelas ShapeMaker untuk memaparkan hasilnya.
Langkah 1
Buat antara muka.
Shape.java
public interface Shape { void draw(); }
Langkah 2
Buat kelas entiti yang melaksanakan antara muka.
Rectangle.java
public class Rectangle implements Shape { @Override public void draw() { System.out.println("Rectangle::draw()"); } }
Square.java
public class Square implements Shape { @Override public void draw() { System.out.println("Square::draw()"); } }
Circle.java
public class Circle implements Shape { @Override public void draw() { System.out.println("Circle::draw()"); } }
Langkah 3
Buat kelas penampilan.
ShapeMaker.java
public class ShapeMaker { private Shape circle; private Shape rectangle; private Shape square; public ShapeMaker() { circle = new Circle(); rectangle = new Rectangle(); square = new Square(); } public void drawCircle(){ circle.draw(); } public void drawRectangle(){ rectangle.draw(); } public void drawSquare(){ square.draw(); } }
Langkah 4
Gunakan kelas penampilan ini untuk melukis pelbagai jenis bentuk.
FacadePatternDemo.java
public class FacadePatternDemo { public static void main(String[] args) { ShapeMaker shapeMaker = new ShapeMaker(); shapeMaker.drawCircle(); shapeMaker.drawRectangle(); shapeMaker.drawSquare(); } }
Langkah 5
Sahkan output.
rreeee