Dalam pemrograman pemrograman yang berorientasi objek, operasi kami yang paling umum adalah objek baru, tetapi dalam proses membuat objek baru, akan ada beberapa masalah, seperti kami perlu memperhatikan detail implementasi dari membuat objek baru, menginisialisasi beberapa parameter yang diperlukan, dll. Ini akan membuat kami lebih fokus pada pembuatan objek daripada implementasi logika program, yang secara serius menunda efisiensi pengembangan program kami. Munculnya pola pabrik dan pola pabrik abstrak dengan sempurna memecahkan masalah ini, memungkinkan kita untuk tidak lagi peduli dengan pembuatan objek, tetapi lebih fokus pada implementasi bisnis.
Fitur:
1. Pemrogram membuat objek secara langsung melalui metode pabrik dan tidak lagi memperhatikan detail pembuatan objek.
2. Menyembunyikan detail implementasi objek juga kondusif untuk keamanan program.
3. Kurangi gelar kopling program.
Aplikasi dalam pengembangan tingkat perusahaan dan kerangka kerja umum:
Sessionfactory, dll. Dalam Hibernate
Klasifikasi Model Pabrik:
Model pabrik sederhana, bentuk yang paling umum digunakan dalam pengembangan program, kode spesifiknya adalah sebagai berikut:
Demo kelas publik { /*** Kelas demo adalah kelas operasi kami yang biasa. Di kelas ini, kami tidak perlu peduli dengan detail implementasi membuat mobil*/ public static void main (string [] args) {car car = carfactory.createCar ("dz"); car.run (); Car car2 = carfactory.createCar ("at"); car2.run (); }} antarmuka mobil {public void run ();} kelas DZ mengimplementasikan mobil {public void run () {System.out.println ("Volkswagen sedang berjalan"); }} kelas di implements car {public void run () {System.out.println ("Alto Car sedang berjalan"); }} class carfactory {public static car createCar (string type) {if ("dz" .equals (type)) {System.out.println ("Membuat mobil Volkswagen"); mengembalikan DZ baru (); } if ("at" .equals (type)) {System.out.println ("Membuat mobil alto"); kembali baru di (); } return null; }}Mode metode pabrik lebih mudah diperluas daripada mode pabrik sederhana, dan tidak perlu memodifikasi kode sebelumnya.
Demo kelas publik { /*** Kelas demo adalah kelas operasi kami yang biasa. Di kelas ini, kami tidak perlu peduli dengan detail implementasi membuat mobil*/ public static void main (string [] args) {atfactory atfactory = new atfactory (); Dzfactory dzfactory = dzfactory baru (); Mobil at = atfactory.createCar (); Mobil dz = dzfactory.createCar (); at.run (); dz.run (); }} antarmuka mobil {public void run ();} kelas DZ mengimplementasikan mobil {public void run () {System.out.println ("Volkswagen sedang berjalan"); }} kelas di implements car {public void run () {System.out.println ("Auto Car sedang berjalan"); }} antarmuka carfactory {car createCar ();} kelas Dzfactory mengimplementasikan carfactory {createCar mobil publik () {return new dz (); }} kelas Atfactory mengimplementasikan carfactory {public car createCar () {return new at (); }}Pola Metode Pabrik Abstrak:
demo kelas publik {public static void main (string [] args) {car carfactory = new gdcarfactory (); Fdz fdz = carfactory.createFdz (); fdz.zhuansu (); }} antarmuka fdz {void zhuansu ();} kelas gdfdz mengimplementasikan fdz {public void zhuansu () {System.out.println ("Kecepatan engine high-end"); }} kelas ddfdz mengimplementasikan fdz {public void zhuansu () {system.out.println ("kecepatan mesin low-end lambat"); }} antarmuka zy {void shushidu ();} kelas gdzy mengimplementasikan zy {public void shushidu () {System.out.println ("Kursi kelas atas nyaman"); }} kelas DDZY mengimplementasikan zy {public void shushidu () {System.out.println ("Kursi low-end tidak nyaman"); }} antarmuka lt {void mosundu ();} kelas gdlt mengimplementasikan lt {public void mosundu () {System.out.println ("Ban high-end tidak dipakai"); }} kelas Ddlt mengimplementasikan lt {public void mosundu () {System.out.println ("Ban Low-End Wear Fast"); }} antarmuka mobil {fdz createFdz (); Zy createzy (); Lt createlt ();} kelas gdcarfactory mengimplementasikan mobil {@override public fdz createFdz () {return baru gdfdz (); } @Override public zy createzy () {return new gdzy (); } @Override public lt creattelt () {return new gdlt (); }} kelas ddcarfactory mengimplementasikan mobil {@Override public fdz createFdz () {return new ddfdz (); } @Override public zy createzy () {return new ddzy (); } @Override public lt createlt () {return new ddlt (); }}Perbandingan tiga metode:
1. Mode Pabrik Sederhana: Mode pabrik sederhana sederhana dalam desain, dengan volume kode kecil, tetapi skalabilitas yang buruk. Ketika perlu untuk memperluas, Anda perlu memodifikasi kode sebelumnya.
2. Mode Metode Pabrik: Skalabilitas yang kuat, tetapi meningkatkan kompleksitas kode
3. Model Pabrik Abstrak: Model pabrik abstrak dan model pabrik berbeda. Model pabrik abstrak membagi produk menjadi nilai, tetapi model pabrik adalah untuk mengklasifikasikan produk. Untuk memberikan contoh mobil: Model pabrik adalah dengan menghasilkan berbagai jenis mobil, seperti Audi dan Volkswagen, sedangkan model pabrik abstrak membagi mobil yang sama menjadi kelas. Misalnya, kedua Volkswagen, kami membagi mobil kelas atas dan mobil kelas bawah. Dari perspektif metodologis, pola pabrik abstrak lebih seperti penyempurnaan pola pabrik. Yang satu ditujukan untuk produk yang berbeda, dan yang lainnya ditujukan untuk keluarga produk yang sama.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.