Rumah > Java > javaTutorial > proksi

proksi

Susan Sarandon
Lepaskan: 2024-09-22 22:15:41
asal
404 orang telah melayarinya

proksi

Proksi ialah salah satu corak reka bentuk struktur, Ia digunakan untuk mencipta objek pengganti atau pemegang tempat, yang digunakan untuk mengawal akses objek asal.
Ia bertindak sebagai perantara yang menambahkan tahap kawalan tambahan dan boleh melakukan tindakan tambahan sebelum dan selepas mewakilkan permintaan kepada objek sebenar.

Konsep Utama:
Objek Proksi: Mewakili objek sebenar dan mengawal akses kepadanya.
Objek Sebenar (Subjek): Objek sebenar yang melakukan kerja.
Pelanggan: Entiti yang berinteraksi dengan proksi dan bukannya objek sebenar secara langsung.

Mari fahami ini dengan mengambil contoh Imej.

//Object interface
public interface Image{
    public void display();
}


//Real object
public class RealImage implements Image {
    private String file;

    public RealImage(String fileName){
        this.file = fileName;
        loadImageFromDisk();
    }
    @Override
    public void display(){
        System.out.println("Rendering image : "+ file);
    }
    private void loadImageFromDisk(){
        System.out.println("Loading image "+file+" from disk");
    }
}

//proksi class
public class proksiImage implements Image {
    private Image image;
    private String file;

    public proksiImage(String fileName){
        this.file =fileName;
    }
    @Override
    public void display(){
        if(image ==null){// create object of RealImage only if the image reference is null, thus resulting in LazyIntialization 
            //( i.e. Initializing the object only when it is needed not beforehand)
            image = new RealImage(file);
        }
        image.display();
    }

}

// client
public class Main {
    public static void main(String args[]){
        Image image = new proksiImage("wallpaper.png");
        //image is loaded and displayed for the first time
        image.display();
        //image will not be loaded again, only display will be called 
        image.display();
    }
}
Salin selepas log masuk

Output:

Loading image wallpaper.png from disk
Rendering image : wallpaper.png
Salin selepas log masuk

Kes Penggunaan:
Permulaan malas: Menangguhkan penciptaan objek sehingga ia benar-benar diperlukan.
Kawalan akses: Mengehadkan akses kepada kaedah tertentu berdasarkan peranan atau kebenaran pengguna.
Pengelogan: Menambahkan fungsi pengelogan atau pemantauan.

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

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan