23种设计模式【创建型模式】详细介绍之【工厂模式】
设计模式的分类和应用场景总结
可以查看专栏设计模式:设计模式
工厂模式
工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们定义一个接口来创建对象,由子类决定要实例化的类是哪一个。这样,客户端就可以通过接口来创建对象,而无需指定具体的类名,这样做的好处是提高了系统的灵活性。
下面是一个简单的工厂模式示例,它定义了一个创建产品的接口,并由具体的工厂实现来创建产品。
Java 代码示例:
// 定义一个产品接口
public interface Product {
// 定义一个方法
void method();
}
// 定义一个具体的产品类
public class ConcreteProduct implements Product {
// 实现方法
@Override
public void method() {
// 业务逻辑
}
}
// 定义一个工厂接口
public interface Factory {
// 定义一个创建产品的方法
Product createProduct();
}
// 定义一个具体的工厂类
public class ConcreteFactory implements Factory {
// 实现创建产品的方法
@Override
public Product createProduct() {
// 使用默认的产品实现
return new ConcreteProduct();
}
}
// 使用工厂方法模式
public class Client {
public static void main(String[] args) {
// 使用默认的工厂实现
Factory factory = new ConcreteFactory();
// 创建产品实例
Product product = factory.createProduct();
// 调用方法
product.method();
}
}
抽象工厂模式
抽象工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。
在抽象工厂模式中,我们定义一个抽象工厂来创建一族相关或依赖的对象,由具体的工厂子类来决定要实例化的类是哪一个。这样,客户端就可以通过抽象工厂来创建对象,而无需指定具体的类名,这样做的好处是提高了系统的灵活性。
下面是一个简单的抽象工厂模式示例,它定义了一个抽象工厂来创建产品族,并由具体的工厂实现来创建产品。
Java 代码示例:
// 定义一个产品接口
public interface Product {
// 定义一个方法
void method();
}
// 定义一个具体的产品类
public class ConcreteProduct implements Product {
// 实现方法
@Override
public void method() {
// 业务逻辑
}
}
// 定义一个抽象工厂接口
public interface AbstractFactory {
// 定义一个创建产品的方法
Product createProduct();
}
// 定义一个具体的工厂类
public class ConcreteFactory implements AbstractFactory {
// 实现创建产品的方法
@Override
public Product createProduct() {
// 使用默认的产品实现
return new ConcreteProduct();
}
}
// 使用抽象工厂模式
public class Client {
public static void main(String[] args) {
// 使用默认的工厂实现
AbstractFactory factory = new ConcreteFactory();
// 创建产品实例
Product product = factory.createProduct();
// 调用方法
product.method();
}
}
版权声明:
原创博主:牛哄哄的柯南
博主原文链接:https://keafmd.blog.csdn.net/
个人博客链接:https://www.keafmd.top/
看完如果对你有帮助,感谢点击下面的点赞支持!
[哈哈][抱拳]
加油!
共同努力!
Keafmd
感谢支持牛哄哄的柯南,期待你的三连+关注~~
keep accumulate for my dream【共勉】
↓ ↓ ↓ ↓ ↓ ↓