枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述简单工厂模式相关的知识,希望能为你提供帮助。
概念
UML图
简单工厂模式可以理解为,定义一个工厂类,根据传入的参数不同而返回不同的实例,这些实例通常有共同的父类。
简单工厂模式不属于23种GoF设计模式之一。
文章图片
角色
??#??示例:
工厂类 : Factory
抽象产品类 : Product
具体产品类 : ConcreteProductA 和 ConcreteProductB
产品类:
public interface Product {
}
具体产品类:
public class ConcreteProductA implements Product{
}
public class ConcreteProductB implements Product{
}
工厂类:
public class Factory {
public static Product createProduct(String name) {
if(name.equals("A")){
return new ConcreteProductA();
} else if (name.equals("B")) {
return new ConcreteProductB();
}
return null;
}
}
客户端类:
public class Client {
public static void main(String[] args) {
String name = "A";
Product product = Factory.createProduct(name);
System.out.println(product);
}
}
打印结果:
【简单工厂模式】
com.lzx.java.designpattern.factory.simple.ConcreteProductA@60e53b93
推荐阅读
- linux如何将输出重定向到文件和标准输出
- k8s pod频繁自动重启
- k8s集群中节点退出重入
- 记一次 Spring Boot 中 @Transactional事务中使用内置锁限制总数失效的BUG
- 严重: Error configuring application listener of class org.springframework.web.util.Log4jConfigListener
- #yyds干货盘点#nginx
- 为什么javaweb项目 域名启动 访问子页面或主页报404——Error
- 系统关机命令
- 安装virtualenv后,找不到mkvirtualenv和workon