Rumah  >  Artikel  >  Java  >  Bagaimana untuk melaksanakan corak proksi dalam corak reka bentuk Java

Bagaimana untuk melaksanakan corak proksi dalam corak reka bentuk Java

王林
王林ke hadapan
2023-05-13 18:34:06906semak imbas

Apakah corak proksi?

Definisi corak proksi: Atas sebab tertentu, adalah perlu untuk menyediakan proksi kepada objek untuk mengawal akses kepada objek. Pada masa ini, objek capaian tidak sesuai atau tidak boleh merujuk secara langsung objek sasaran, dan objek proksi bertindak sebagai perantara antara objek capaian dan objek sasaran.

Kelebihan

1 Mod proksi memainkan peranan perantara antara klien dan objek sasaran dan melindungi objek sasaran; Fungsi objek;

3 Mod proksi boleh memisahkan klien daripada objek sasaran, yang mengurangkan gandingan sistem ke tahap tertentu dan meningkatkan kebolehskalaan program

Kelemahan

1. Mod proksi akan meningkatkan bilangan kelas dalam reka bentuk sistem

2 Menambah objek proksi antara klien dan objek sasaran akan menyebabkan kelajuan pemprosesan permintaan menjadi perlahan

3. Meningkatkan kerumitan sistem;

Mata pengetahuan

Struktur mod ejen agak mudah, terutamanya dengan mentakrifkan ejen yang mewarisi tema abstrak untuk dimasukkan tema sebenar, dengan itu merealisasikan Untuk mengakses topik sebenar, mari analisa struktur asas dan kaedah pelaksanaannya.

Pelaksanaan corak proksi

Kes: Dabendai Ganniang menjual wain

Subjek abstrak (Subjek) kelas: menjual wain

Subjek Sebenar ) Kategori: Godmother's Tavern

Kategori Proksi: Gerai Wain Da Ben

Da Ben datang untuk mendirikan gerai di hadapan Godmother's Tavern untuk menjual wain sebagai proksi.

Menjual wain

Antara muka jualan wain mengisytiharkan kaedah abstrak untuk menjual wain

public interface Jiu {
    void show();
}

Tempat minum Godmother

Pelaksanaan kelas Godmother's tavern Membangunkan antara muka untuk menjual wain , melaksanakan kaedah penjualan wain show(), mengisytiharkan nama wain dan menggunakan kaedah aa() untuk menggesa Da Ben menyediakan gerai

public class GanNiang implements Jiu {
    private String name;
    GanNiang() {
    }
    GanNiang(String name) {
        this.name = name;
        aa();
    }
    @Override
    public void show() {
        System.out.printf("卖出一坛%s", name);
    }
    public void aa() {
        System.out.println("大奔来摆摊了");
    }
}

Gerai wain Da Ben

Wain Daben kelas gerai melaksanakan antara muka jualan wain, mengisytiharkan nama wain dan sifat-sifat Kedai Minuman Ibu baptis, dan melaksanakan kaedah penjualan wain.

public class DaBen implements Jiu {
    private String name;
    private GanNiang ganNiang;
    DaBen() {
    }
    DaBen(String name) {
        this.name = name;
    }
    @Override
    public void show() {
        if (ganNiang == null) {
            ganNiang = new GanNiang(name);
        }
        ganNiang.show();
    }
}

Ujian

baharu Sebuah gerai wain besar, memanggil kaedah show() dua kali adalah bersamaan dengan menjual wain dua kali.

public class Demo {
    public static void main(String[] args) {
        DaBen daBen = new DaBen("女儿红");
        daBen.show();
        System.out.println();
        System.out.println();
        daBen.show();
    }
}

Bagaimana untuk melaksanakan corak proksi dalam corak reka bentuk JavaAnda boleh lihat di sini bahawa hasil keluaran jualan wain pertama dan kedua adalah berbeza, kerana setiap kali anda menjual wain, anda perlu pergi ke kedai ibu baptis anda untuk dapatkannya. Apabila Da Ben datang untuk mendapatkan wain buat kali pertama, dia memberitahu ibu baptisnya bahawa saya berada di sini untuk menyediakan gerai Kemudian, ibu baptis sudah tahu bahawa Da Ben akan datang, jadi tidak perlu memberitahunya apabila dia sampai wain itu lagi.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan corak proksi dalam corak reka bentuk Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam