Analisis tiga kes praktikal corak kilang Java
Corak kilang ialah corak reka bentuk yang biasa digunakan, yang boleh memisahkan penciptaan dan penggunaan objek, menjadikan program lebih berskala. Di Jawa, terdapat tiga kes amalan biasa bagi corak kilang: corak kilang mudah, corak kaedah kilang dan corak kilang abstrak. Artikel ini akan menganalisis tiga kes praktikal ini secara terperinci dan memberikan contoh kod khusus.
Corak Kilang Mudah ialah corak kilang yang paling asas, yang mencipta objek melalui kelas kilang. Dalam corak kilang yang mudah, pelanggan hanya perlu berinteraksi dengan kelas kilang dan tidak perlu berinteraksi secara langsung dengan kelas produk tertentu.
Yang berikut mengambil contoh mencipta objek grafik sebagai contoh untuk menunjukkan amalan corak kilang mudah:
// Cipta antara muka grafik
antara muka awam Bentuk {
void draw();
}
// Cipta kelas grafik tertentu
awam Bulatan kelas melaksanakan Shape {
@Override public void draw() { System.out.println("画一个圆形"); }
}
kelas awam Segi empat tepat melaksanakan Shape {
@Override public void draw() { System.out.println("画一个矩形"); }
}
// Cipta kelas kilang
kelas awam ShapeFactory {
public static Shape createShape(String type) { switch (type) { case "circle": return new Circle(); case "rectangle": return new Rectangle(); default: throw new IllegalArgumentException("不支持的图形类型"); } }
}
public static void main(String[] args) { Shape circle = ShapeFactory.createShape("circle"); circle.draw(); Shape rectangle = ShapeFactory.createShape("rectangle"); rectangle.draw(); }
}
void drive();}
kelas pelanggan/
@Override public void drive() { System.out.println("开奔驰车"); }
}
Corak kaedah kilang ialah corak kilang yang lebih kompleks Dalam corak kaedah kilang, setiap kelas produk tertentu sepadan dengan kelas kilang. Pelanggan mencipta objek produk tertentu dengan berinteraksi dengan kelas kilang yang sepadan.
Perkara berikut mengambil contoh mencipta objek kereta sebagai contoh untuk menunjukkan amalan corak kaedah kilang:
antara muka awam Kereta {
@Override public void drive() { System.out.println("开宝马车"); }
}
awam kelas BenzCar melaksanakan Kereta {
Car createCar();
}
kelas awam BmwCar melaksanakan Kereta {
@Override public Car createCar() { return new BenzCar(); }
}
antara muka awam CarFactory {
@Override public Car createCar() { return new BmwCar(); }
}
public static void main(String[] args) { CarFactory benzFactory = new BenzCarFactory(); Car benzCar = benzFactory.createCar(); benzCar.drive(); CarFactory bmwFactory = new BmwCarFactory(); Car bmwCar = bmwFactory.createCar(); bmwCar.drive(); }}
void call();}// Cipta antara muka kilang
antara muka awam CarFactory {
@Override public void call() { System.out.println("使用苹果手机打电话"); }
}
/🜎kelas kilang khusus implement CarFactory {
@Override public void call() { System.out.println("使用华为手机打电话"); }
}
kelas awam BmwCarFactory melaksanakan CarFactory {
Phone createPhone();
@Override public Phone createPhone() { return new ApplePhone(); }}
kod kilang di atas kelas kilang tertentu yang sepadan A objek kereta tertentu. Pelanggan hanya perlu berinteraksi dengan kelas kilang yang sepadan untuk mendapatkan objek kereta yang sepadan dan melakukan operasi seterusnya.
Corak Kilang Abstrak
Yang berikut mengambil penciptaan objek telefon bimbit sebagai contoh untuk menunjukkan amalan corak kilang abstrak:
// Cipta antara muka telefon mudah alih
antara muka awam Telefon {@Override public Phone createPhone() { return new HuaweiPhone(); }}// Cipta khusus kelas telefon mudah alih
kelas awam ApplePhone melaksanakan Telefon {
public static void main(String[] args) { PhoneFactory appleFactory = new ApplePhoneFactory(); Phone applePhone = appleFactory.createPhone(); applePhone.call(); PhoneFactory huaweiFactory = new HuaweiPhoneFactory(); Phone huaweiPhone = huaweiFactory.createPhone(); huaweiPhone.call(); }}kelas awam HuaweiPhone melaksanakan Telefon {
rrreee
}
// Cipta antara muka kilang
antara muka awam PhoneFactory {}rreee/
Cipta telefon bimbit tertentu kelas kilangkelas awam ApplePhoneFactory melaksanakan PhoneFactory {
rrreee }
rrreee
}// Contoh penggunaan pelanggan kod awam di atas🜎 ia adalah dicipta melalui antara muka kilang PhoneFactory dan kelas kilang khusus yang sepadan Objek telefon bimbit khusus. Pelanggan hanya perlu berinteraksi dengan kelas kilang yang sepadan untuk mendapatkan objek telefon mudah alih yang sepadan dan melakukan operasi seterusnya.
🎜Ringkasan: 🎜🎜Di atas memperkenalkan tiga kes praktikal corak kilang: corak kilang mudah, corak kaedah kilang dan corak kilang abstrak. Ketiga-tiga mod ini boleh memisahkan penciptaan dan penggunaan objek secara berkesan dan meningkatkan kebolehskalaan program. Dalam pembangunan sebenar, anda boleh memilih mod kilang yang sesuai untuk digunakan mengikut keperluan tertentu. 🎜Atas ialah kandungan terperinci Analisis tiga kes aplikasi praktikal corak kilang Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!