Factory Method Example

This program demonstrates Factory Method design pattern.

Problem Statement

Write a Java program to implement Factory Method for creating documents.

Source Code

1 abstract class Document {
2 abstract void open();
3 }
4 class PDF extends Document {
5 void open(){ System.out.println("Opening PDF"); }
6 }
7 class Word extends Document {
8 void open(){ System.out.println("Opening Word"); }
9 }
10 abstract class DocumentFactory {
11 abstract Document createDocument();
12 }
13 class PDFDocumentFactory extends DocumentFactory {
14 Document createDocument(){ return new PDF(); }
15 }
16 class WordDocumentFactory extends DocumentFactory {
17 Document createDocument(){ return new Word(); }
18 }
19 public class FactoryMethod {
20 public static void main(String[] args) {
21 System.out.println("Eduinq Factory Method");
22 DocumentFactory df=new PDFDocumentFactory();
23 Document d=df.createDocument();
24 d.open();
25 }
26 }

Program Output

Eduinq Factory Method
Opening PDF

Explanation

Factory Method delegates creation to subclasses. - Each factory creates specific product. - This promotes extensibility and adherence to OCP (Open Closed Principle). Conclusion: Shows how to implement Factory Method pattern.

Quick Links to Explore