Home Java javaTutorial Analyze three practical application cases of Java factory pattern

Analyze three practical application cases of Java factory pattern

Feb 25, 2024 pm 07:39 PM
iphone parse Practical cases Simple factory pattern java factory pattern

Analyze three practical application cases of Java factory pattern

Analysis of Three Practical Cases of Java Factory Pattern

Factory pattern is a commonly used design pattern, which can separate the creation and use of objects, making the program The scalability is better. In Java, there are three common practice cases of factory pattern: simple factory pattern, factory method pattern and abstract factory pattern. This article will analyze these three practical cases in detail and provide specific code examples.

  1. Simple Factory Pattern

The simple factory pattern is the most basic factory pattern, which creates objects through a factory class. In the simple factory pattern, the client only needs to interact with the factory class and does not need to interact directly with the specific product class.

The following takes creating a graphical object as an example to demonstrate the practice of the simple factory pattern:

// Create a graphical interface
public interface Shape {

void draw();
Copy after login

}

// Create a specific graphic class
public class Circle implements Shape {

@Override
public void draw() {
    System.out.println("画一个圆形");
}
Copy after login

}

public class Rectangle implements Shape {

@Override
public void draw() {
    System.out.println("画一个矩形");
}
Copy after login

}

// Create factory class
public class ShapeFactory {

public static Shape createShape(String type) {
    switch (type) {
        case "circle":
            return new Circle();
        case "rectangle":
            return new Rectangle();
        default:
            throw new IllegalArgumentException("不支持的图形类型");
    }
}
Copy after login

}

// Client usage example
public class Client {

public static void main(String[] args) {
    Shape circle = ShapeFactory.createShape("circle");
    circle.draw();

    Shape rectangle = ShapeFactory.createShape("rectangle");
    rectangle.draw();
}
Copy after login

}

In the above code, a specific graphic object is created through the createShape method of the ShapeFactory factory class. The client only needs to call this method and pass in the corresponding parameters to obtain the corresponding graphic object and perform subsequent operations.

  1. Factory method pattern

The factory method pattern is a slightly more complex factory pattern. In the factory method pattern, each specific product class corresponds to a factory. kind. The client creates specific product objects by interacting with the corresponding factory class.

The following takes creating a car object as an example to demonstrate the practice of the factory method pattern:

// Create a car interface
public interface Car {

void drive();
Copy after login

}

// Create a specific car class
public class BenzCar implements Car {

@Override
public void drive() {
    System.out.println("开奔驰车");
}
Copy after login

}

public class BmwCar implements Car {

@Override
public void drive() {
    System.out.println("开宝马车");
}
Copy after login

}

// Create a factory interface
public interface CarFactory {

Car createCar();
Copy after login

}

// Create a specific factory class
public class BenzCarFactory implements CarFactory {

@Override
public Car createCar() {
    return new BenzCar();
}
Copy after login

}

public class BmwCarFactory implements CarFactory {

@Override
public Car createCar() {
    return new BmwCar();
}
Copy after login

}

// Client usage example
public class Client {

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();
}
Copy after login

}

In the above code, a specific car object is created through the CarFactory factory interface and its corresponding specific factory class. The client only needs to interact with the corresponding factory class to obtain the corresponding car object and perform subsequent operations.

  1. Abstract Factory Pattern

The abstract factory pattern is the most complex factory pattern. In the abstract factory pattern, each specific factory class can create multiple different types. product object. The client creates a series of related product objects by interacting with the factory class.

The following takes the creation of a mobile phone object as an example to demonstrate the practice of the abstract factory pattern:

// Create a mobile phone interface
public interface Phone {

void call();
Copy after login

}

// Create a specific mobile phone class
public class ApplePhone implements Phone {

@Override
public void call() {
    System.out.println("使用苹果手机打电话");
}
Copy after login

}

public class HuaweiPhone implements Phone {

@Override
public void call() {
    System.out.println("使用华为手机打电话");
}
Copy after login

}

// Create a factory interface
public interface PhoneFactory {

Phone createPhone();
Copy after login

}

// Create a specific factory class
public class ApplePhoneFactory implements PhoneFactory {

@Override
public Phone createPhone() {
    return new ApplePhone();
}
Copy after login

}

public class HuaweiPhoneFactory implements PhoneFactory {

@Override
public Phone createPhone() {
    return new HuaweiPhone();
}
Copy after login

}

// Client usage example
public class Client {

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();
}
Copy after login

}

In the above code, a specific mobile phone object is created through the PhoneFactory factory interface and its corresponding specific factory class. The client only needs to interact with the corresponding factory class to obtain the corresponding mobile phone object and perform subsequent operations.

Summary:

The above introduces three practical cases of the factory pattern: simple factory pattern, factory method pattern and abstract factory pattern. These three modes can effectively separate the creation and use of objects and improve the scalability of the program. In actual development, you can choose the appropriate factory mode to use according to specific needs.

The above is the detailed content of Analyze three practical application cases of Java factory pattern. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

iPhone 16 Pro and iPhone 16 Pro Max official with new cameras, A18 Pro SoC and larger screens iPhone 16 Pro and iPhone 16 Pro Max official with new cameras, A18 Pro SoC and larger screens Sep 10, 2024 am 06:50 AM

Apple has finally lifted the covers off its new high-end iPhone models. The iPhone 16 Pro and iPhone 16 Pro Max now come with larger screens compared to their last-gen counterparts (6.3-in on the Pro, 6.9-in on Pro Max). They get an enhanced Apple A1

iPhone parts Activation Lock spotted in iOS 18 RC — may be Apple\'s latest blow to right to repair sold under the guise of user protection iPhone parts Activation Lock spotted in iOS 18 RC — may be Apple\'s latest blow to right to repair sold under the guise of user protection Sep 14, 2024 am 06:29 AM

Earlier this year, Apple announced that it would be expanding its Activation Lock feature to iPhone components. This effectively links individual iPhone components, like the battery, display, FaceID assembly, and camera hardware to an iCloud account,

iPhone parts Activation Lock may be Apple\'s latest blow to right to repair sold under the guise of user protection iPhone parts Activation Lock may be Apple\'s latest blow to right to repair sold under the guise of user protection Sep 13, 2024 pm 06:17 PM

Earlier this year, Apple announced that it would be expanding its Activation Lock feature to iPhone components. This effectively links individual iPhone components, like the battery, display, FaceID assembly, and camera hardware to an iCloud account,

Multiple iPhone 16 Pro users report touchscreen freezing issues, possibly linked to palm rejection sensitivity Multiple iPhone 16 Pro users report touchscreen freezing issues, possibly linked to palm rejection sensitivity Sep 23, 2024 pm 06:18 PM

If you've already gotten your hands on a device from the Apple's iPhone 16 lineup — more specifically, the 16 Pro/Pro Max — chances are you've recently faced some kind of issue with the touchscreen. The silver lining is that you're not alone—reports

Gate.io trading platform official app download and installation address Gate.io trading platform official app download and installation address Feb 13, 2025 pm 07:33 PM

This article details the steps to register and download the latest app on the official website of Gate.io. First, the registration process is introduced, including filling in the registration information, verifying the email/mobile phone number, and completing the registration. Secondly, it explains how to download the Gate.io App on iOS devices and Android devices. Finally, security tips are emphasized, such as verifying the authenticity of the official website, enabling two-step verification, and being alert to phishing risks to ensure the safety of user accounts and assets.

Beats adds phone cases to its lineup: unveils a MagSafe case for the iPhone 16 series Beats adds phone cases to its lineup: unveils a MagSafe case for the iPhone 16 series Sep 11, 2024 pm 03:33 PM

Beats is known for launching audio products such as Bluetooth speakers and headphones, but in what can best be described as a surprise, the Apple-owned company has branched into making phone cases, starting with the iPhone 16 series. The Beats iPhone

How to solve the problem of 'Undefined array key 'sign'' error when calling Alipay EasySDK using PHP? How to solve the problem of 'Undefined array key 'sign'' error when calling Alipay EasySDK using PHP? Mar 31, 2025 pm 11:51 PM

Problem Description When calling Alipay EasySDK using PHP, after filling in the parameters according to the official code, an error message was reported during operation: "Undefined...

Anbi app official download v2.96.2 latest version installation Anbi official Android version Anbi app official download v2.96.2 latest version installation Anbi official Android version Mar 04, 2025 pm 01:06 PM

Binance App official installation steps: Android needs to visit the official website to find the download link, choose the Android version to download and install; iOS search for "Binance" on the App Store. All should pay attention to the agreement through official channels.

See all articles