深入浅出细说创建型设计模式(一)

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

前言

 每天一小步,成功一大步。大家好,我是程序猿小白 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 抽象工厂模式和工厂方法模式区别

简单来说抽象工厂模式是针对多个产品系列,而工厂方法模式针对一个产品系列。
即抽象工厂模式多个产品系列一个工厂类,而工厂方法模式一个产品系列一个工厂类。

结语

以上就是创建型模式中的抽象工厂模式和工厂模式,希望对读者有所帮助。如有不正之处,欢迎掘友们斧正。

下篇我们接着来说创建型模式。