Rumah  >  Artikel  >  Java  >  Jadikan aplikasi anda digandingkan secara longgar-Abstraksi-PolyMorphism

Jadikan aplikasi anda digandingkan secara longgar-Abstraksi-PolyMorphism

WBOY
WBOYasal
2024-07-16 16:07:50492semak imbas

Make your application loosely coupled-Abstraction-PolyMorphism

Semasa membangunkan aplikasi adalah wajib untuk memastikan komponen bebas antara satu sama lain, inilah yang dimaksudkan dengan gandingan longgar. Ia menyediakan penyeragaman, penyatuan, normalisasi dan tadbir urus ke atas permohonan anda. Aplikasi yang digandingkan secara longgar adalah mudah untuk ditingkatkan.

Dalam artikel ini: Anda akan belajar dengan contoh, cara membuat aplikasi anda digandingkan secara longgar dan mendapat manfaat maksimum daripadanya.

Keperluan Gandingan Longgar:

Katakan anda sedang mengambil sesuatu daripada pangkalan data UserDatabase anda, berikut ialah fungsi yang ditentukan lapisan data untuk mengambil rekod pangkalan data:

public class UserDatabase {
    public String getUserDetails(){
        return "User Deatils ";
    }
}

Dalam lapisan perkhidmatan kami, mari buat fungsi untuk bercakap dengan lapisan data kami untuk mengambil rekod:

public class UserDatabase {
    public String getUserDetails(){
        return "User Details in DB1";
    }
}

Dalam lapisan aplikasi atau fungsi utama kami, kami akan bercakap dengan lapisan perkhidmatan kami:

public static void main(String[] args) {
        //Tight Coupling
        UserManager userManager = new UserManager();
        System.out.println(userManager.getUserInfo());
    }

Dalam aplikasi ini, apabila kami cuba meningkatkan aplikasi kami, gandingan yang ketat akan menjadikannya berlebihan dan sukar untuk dikembangkan.
Itulah sebabnya aplikasi yang digandingkan secara longgar adalah sangat penting, Dalam but musim bunga kami mencapainya menggunakan antara muka. Mari jadikan apl di atas digandingkan secara longgar.

Gandingan Longgar:

Mari kita tentukan antara muka yang akan memberi kita struktur keseluruhan untuk lapisan data:

public interface UserDataProvider {
    String getUserDetails();
}

Sekarang ambil rekod pangkalan data semasa melaksanakan antara muka ini:

public class UserDatabase implements UserDataProvider{
    @Override
    public String getUserDetails(){
        return "User Details in DB1";
    }
}

Sekarang tentukan lapisan perkhidmatan untuk berkomunikasi dengan lapisan data:

public class UserManager {
    private UserDataProvider userDataProviderr;
    public UserManager(UserDataProvider userDataProvider) {
        this.userDataProviderr = userDataProvider;
    }

    public String getUserInfo(){
        return userDataProviderr.getUserDetails();
    }
}

Di sini sambil menyuntik UserDataProvider objek rujukan ke dalam UserManager kita akan dapat mengakses fungsi UserDatabase yang melaksanakan antara muka itu supaya ia akan memberikan kita abstraksi di tahap lapisan data.

Kini kita boleh mengakses rekod melalui UserManager :

    UserDataProvider userDataProvider = new UserDatabase();
        UserManager userManager = new UserManager(userDataProvider);
        System.out.println(userManager.getUserInfo());

Kami boleh dengan mudah meningkatkan aplikasi kami dan mengintegrasikan seberapa banyak sambungan pangkalan data yang kami mahukan jika kami perlu mengkonfigurasi pangkalan data lain contohnya WebServerDatabase, kami hanya perlu mencipta contoh yang diberikan kepada antara muka yang dilaksanakan, dan kemudian melalui UserManager kami juga boleh mengaksesnya. Menggunakan antara muka memberikan kami Abstraksi, gandingan longgar dan PolyMorphism (melaksanakan antara muka yang sama oleh kelas yang berbeza memberikan kami polimorfisme).

Selamat Mengekod :)

Atas ialah kandungan terperinci Jadikan aplikasi anda digandingkan secara longgar-Abstraksi-PolyMorphism. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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