Corak Kaedah Kilang menangani keperluan untuk mencipta objek tanpa menyatakan kelas objek yang tepat yang akan dibuat. Ini berguna apabila anda mempunyai berbilang subkelas superclass dan ingin mewakilkan penciptaan objek kepada subkelas tertentu berdasarkan syarat atau parameter tertentu.
Corak Kaedah Kilang menyediakan antara muka untuk mencipta objek dalam kelas super, tetapi membenarkan subkelas mengubah jenis objek yang akan dibuat. Ini menggalakkan gandingan longgar dengan memastikan kod pelanggan berinteraksi dengan antara muka kilang dan bukannya kelas konkrit secara langsung.
Contoh praktikal corak Kaedah Kilang adalah dalam rangka kerja untuk mencipta dokumen. Bergantung pada jenis dokumen (cth., PDF, HTML), kilang dokumen yang sepadan mencipta objek dokumen dengan pemformatan dan ciri yang sesuai.
Corak Kaedah Kilang dalam kod
java // Product interface public interface Document { void open(); void close(); } // Concrete Product 1 public class PDFDocument implements Document { @Override public void open() { System.out.println("Opening PDF document"); } @Override public void close() { System.out.println("Closing PDF document"); } } // Concrete Product 2 public class HTMLDocument implements Document { @Override public void open() { System.out.println("Opening HTML document"); } @Override public void close() { System.out.println("Closing HTML document"); } } // Creator interface public interface DocumentFactory { Document createDocument(); } // Concrete Creator 1 public class PDFDocumentFactory implements DocumentFactory { @Override public Document createDocument() { return new PDFDocument(); } } // Concrete Creator 2 public class HTMLDocumentFactory implements DocumentFactory { @Override public Document createDocument() { return new HTMLDocument(); } } // Client code public class Client { public static void main(String[] args) { DocumentFactory factory1 = new PDFDocumentFactory(); Document pdfDocument = factory1.createDocument(); pdfDocument.open(); pdfDocument.close(); DocumentFactory factory2 = new HTMLDocumentFactory(); Document htmlDocument = factory2.createDocument(); htmlDocument.open(); htmlDocument.close(); } }
Atas ialah kandungan terperinci Memahami Corak Reka Bentuk Kaedah Kilang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!