cari
RumahJavajavaTutorialCara memahami mod proksi Java

Cara memahami mod proksi Java

Apr 19, 2023 am 11:34 AM
java

    Mod agensi: Proksi statik

    Kadangkala, kita mungkin tidak mahu berhadapan dengan sesuatu atau seseorang secara langsung, jadi kita boleh mencari perantara Go dan melakukan sesuatu untuk kita, seperti menghantar hadiah, menelefon untuk urusan, mencari tukang cuci untuk pergi ke bandar tertentu, dsb. Dengan cara ini, pihak lain tidak tahu siapa yang terlibat di sebalik pengantara, dan ia memainkan peranan sebagai perantara dan melindungi objek sasaran. Ini adalah model agensi. Maksudnya, seorang perantara melakukannya untuk anda.

    Cara memahami mod proksi Java

    1. Definisi mod proksi

    Atas sebab tertentu, adalah perlu untuk menyediakan proksi untuk 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

    Rajah struktur ringkas:

    Cara memahami mod proksi Java

    2 Kebaikan dan keburukan model proksi

    Kelebihan:

    1 antara klien dan objek sasaran. Peranan melindungi objek sasaran

    2 Ia boleh mengembangkan fungsi objek sasaran

    3. yang mengurangkan gandingan sistem pada tahap tertentu dan meningkatkan kerumitan program

    Kelemahan:

    1. Ia akan menyebabkan bilangan kelas dalam sistem reka bentuk untuk meningkat (kerana terdapat satu atau lebih kelas perantara (ejen))

    2. Menambah objek proksi antara klien dan objek sasaran akan memperlahankan kelajuan pemprosesan permintaan

    3. Meningkatkan kerumitan sistem

    3 Klasifikasi Proksi bagi corak

    Corak proksi dibahagikan kepada proksi statik (artikel ini) dan proksi dinamik (seterusnya artikel) :

    • Statik: Pengaturcara mencipta kelas proksi atau alat tertentu secara automatik menjana kod sumber dan kemudian menyusunnya daripada kelas proksi sudah wujud sebelum atur cara dijalankan

    • Dinamik: Dicipta secara dinamik menggunakan mekanisme pantulan semasa atur cara berjalan

    4. Struktur mod proksi statik

    1 Kelas tema abstrak: mengisytiharkan kaedah perniagaan yang dilaksanakan oleh tema sebenar dan objek proksi melalui antara muka atau kelas abstrak

    2. Kelas tema sebenar: melaksanakan tema abstrak Perniagaan khusus ialah objek sebenar yang diwakili oleh objek proksi, yang merupakan objek akhir untuk dirujuk

    3 . Kelas proksi: menyediakan antara muka yang sama seperti topik sebenar, dan mengandungi rujukan dalaman kepada Rujukan topik sebenar, yang boleh mengakses, mengawal atau melanjutkan fungsi tema sebenar

    Pertunjukan kod :

    Tentukan tema abstrak:

    Apabila menggunakan proksi statik, anda perlu menentukan antara muka atau kelas induk, dan objek proksi dan objek proksi melaksanakan antara muka yang sama atau mewarisi kelas induk yang sama

    /**
     *抽象主题
     */
    
    public interface Subject {
        void Request();
    }

    Topik sebenar:

    /**
     *真实主题类:实现抽象主题
     */
    public class RealSubject implements Subject{
        @Override
        public void Request() {
            System.out.println("您的航班正在飞行");
        }
    }

    Kelas proksi:

    //代理类,实现抽象类的接口
    public class Proxy implements Subject{
    
        private RealSubject realSubject;
    
        @Override
        public void Request() {
            //先判断是否存在真实主题RealSubject
            //如果没有,就新建一个
            if(realSubject == null){
                realSubject = new RealSubject();
            }
    
            //预处理,使用这个方法
            preRequest();
    
            //去访问真实主题类的方法
            realSubject.Request();
    
            //代理类的后续方法
            postRequest();
        }
    
        private void preRequest() {
            System.out.println("航班马上起飞啦");
        }
    
        private void postRequest() {
            System.out.println("航班到达目的地,感谢乘坐");
        }
    
    
    }

    Kelas ujian:

    public class Test {
        public static void main(String[] args) {
    
            //使用代理去访问RealSubject里面的Request
            Proxy proxy = new Proxy();
            proxy.Request();
        }
    }

    Keputusan Output:

    Penerbangan akan berlepas tidak lama lagi
    Penerbangan anda sedang terbang
    Penerbangan telah tiba di destinasi, terima kasih kerana mengambilnya

    Melalui demonstrasi di atas, Gunakan kelas proksi untuk mengakses kaedah kelas subjek sebenar, supaya kelas ujian tidak tahu siapa yang mengaksesnya, sama ada kelas proksi atau ada orang lain di belakang kelas proksi, supaya objek itu boleh dilindungi dengan baik. Ini juga merupakan kelebihan model agensi.

    Ringkasan proksi statik:

    Anda boleh melanjutkan fungsi sasaran tanpa mengubah suai fungsi objek sasaran, tetapi objek proksi perlu sama dengan objek sasaran, jadi akan terdapat banyak kelas proksi Apabila terdapat banyak kelas proksi, kerumitan penyelenggaraan akan menjadi lebih besar. Kemudian anda perlu menggunakan proksi dinamik.

    5. Senario aplikasi mod proksi

    Apabila anda tidak boleh atau tidak mahu merujuk secara langsung objek atau terdapat kesukaran untuk mengakses objek, anda boleh mengaksesnya secara tidak langsung melalui objek proksi. Terdapat dua tujuan utama menggunakan mod proksi: Satu adalah untuk melindungi objek sasaran, dan satu lagi adalah untuk meningkatkan objek sasaran

    Ringkasan senario aplikasi ini ialah dirujuk daripada Internet:

    • Proksi jauh, kaedah ini biasanya digunakan untuk menyembunyikan fakta bahawa objek sasaran wujud dalam ruang alamat yang berbeza untuk memudahkan akses pelanggan. Sebagai contoh, apabila pengguna memohon beberapa ruang cakera rangkaian, cakera keras maya akan dibuat dalam sistem fail pengguna Apabila pengguna mengakses cakera keras maya, dia sebenarnya mengakses ruang cakera rangkaian

    • .
    • ejen maya , kaedah ini selalunya digunakan apabila objek sasaran yang hendak dibuat mahal. Sebagai contoh, jika mengambil masa yang lama untuk memuat turun imej yang besar, dan beberapa pengiraan adalah rumit dan tidak dapat diselesaikan dalam masa yang singkat, anda boleh menggantikan objek sebenar terlebih dahulu dengan ejen maya berskala kecil untuk menghapuskan perasaan pengguna bahawa pelayan lambat

    • Proksi keselamatan, kaedah ini biasanya digunakan untuk mengawal hak akses pelbagai jenis pelanggan kepada objek sebenar

    • Panduan pintar digunakan terutamanya untuk menambah beberapa fungsi pemprosesan tambahan pada proksi apabila memanggil objek sasaran. Sebagai contoh, tambahkan fungsi mengira bilangan rujukan kepada objek sebenar, supaya apabila objek tidak dirujuk, ia boleh dilepaskan secara automatik

    • Lazy loading merujuk kepada melambatkan pemuatan daripada objek sebenar untuk meningkatkan prestasi pemuatan Sasaran. Contohnya, Hibernate mempunyai pemuatan malas atribut dan pemuatan malas jadual berkaitan

    Atas ialah kandungan terperinci Cara memahami mod proksi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan
    Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
    Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

    Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

    Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

    Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

    Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

    Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

    Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

    Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

    Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

    Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

    See all articles

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Cara Membuka Segala -galanya Di Myrise
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Muat turun versi mac editor Atom

    Muat turun versi mac editor Atom

    Editor sumber terbuka yang paling popular

    MantisBT

    MantisBT

    Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    EditPlus versi Cina retak

    EditPlus versi Cina retak

    Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

    SecLists

    SecLists

    SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.