小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
前言
每天一小步,成功一大步。大家好,我是程序猿小白 GW_gw,很高兴能和大家一起学习每天小知识。
复制代码
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍创建型设计模式的抽象工厂模式和工厂模式。
复制代码
1. 创建型模式
创建型模式通过以某种方式控制对象的创建来解决问题。创建型模式把系统和他的对象的创建,结合,表示的的方式分离。
主要思想是:
- 将系统使用的具体类封装起来
- 隐藏类的实例创建和结合的方式
常见的创建型模式有:
1.1 抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式向客户端提供一个接口,可以创建一系列相关的对象,而不需要指定他们具体的类。
在抽象工厂模式中,客户端不再负责对象的创建,而是由具体的工厂类来实现。
代码实现:
//向客户端提供接口
public interface Car{}
public interface Computer{}
//实现抽象类
public class BWMCar implements Car{}
public class BenzCar implements Car{}
public class LenovoComputer implements Computer{}
public class DellComputer implements Computer{}
//实现工厂
public class BWMFactory{
public static Car createCar(){
return new BWMCar();
}
public static Computer createComputer(){
return new BWMComputer();
}
}
public class BenzFactory{
public static Car createCar(){
return new BenzCar();
}
public static Computer createComputer(){
return new BenzComputer();
}
}
复制代码
1.2 工厂方法模式
定义一个创建产品对象的工厂接口,将实际创建工作放到子类中。
1.3 抽象工厂模式和工厂方法模式区别
简单来说抽象工厂模式是针对多个产品系列,而工厂方法模式针对一个产品系列。
即抽象工厂模式多个产品系列一个工厂类,而工厂方法模式一个产品系列一个工厂类。
结语
以上就是创建型模式中的抽象工厂模式和工厂模式,希望对读者有所帮助。如有不正之处,欢迎掘友们斧正。
下篇我们接着来说创建型模式。
近期评论