美文网首页
工厂方法模式学习

工厂方法模式学习

作者: 二毛_220d | 来源:发表于2019-06-09 16:55 被阅读0次
package com.java.ntt.designPatterns.FactoryMethed;

public interface Product {
  void  getName();
}
package com.java.ntt.designPatterns.FactoryMethed;

/**
 * @ClassName ConcreteProduct
 * @Description
 * @Author niutongtong
 * @Date 2019-06-02 19:04
 * @Version V1.0
 **/
public class ConcreteProduct implements Product {
  @Override
  public void getName() {
    System.out.println("ConcreteProduct");
  }
}

package com.java.ntt.designPatterns.FactoryMethed;

/**
 * @ClassName ConcreteProduct1
 * @Description
 * @Author niutongtong
 * @Date 2019-06-02 19:06
 * @Version V1.0
 **/
public class ConcreteProduct1 implements Product {
  @Override
  public void getName() {
    System.out.println("ConcreteProduct1");
  }
}

package com.java.ntt.designPatterns.FactoryMethed;

/**
 * @ClassName ConcreteProduct2
 * @Description
 * @Author niutongtong
 * @Date 2019-06-02 19:07
 * @Version V1.0
 **/
public class ConcreteProduct2 implements Product {
  @Override
  public void getName() {
    System.out.println("ConcreteProduct2");
  }
}

package com.java.ntt.designPatterns.FactoryMethed;

/**
 * @ClassName AbstractFactory
 * @Description  定义了一个创建对象的接口,但由子类决定要实例化哪个类。工厂方法把实例化操作推迟到子类。
 * @Author niutongtong
 * @Date 2019-06-02 21:13
 * @Version V1.0
 **/
public abstract   class Factory {
   abstract public Product factoryMethod();
   public  void  dosomething(){
     Product product=factoryMethod();
     //
   }
}

package com.java.ntt.designPatterns.FactoryMethed;

/**
 * @ClassName ConcreteFactory
 * @Description
 * @Author niutongtong
 * @Date 2019-06-02 21:19
 * @Version V1.0
 **/
public class ConcreteFactory extends Factory {
  @Override
  public Product factoryMethod() {
    return new ConcreteProduct();
  }
}

package com.java.ntt.designPatterns.FactoryMethed;

/**
 * @ClassName ConcreteFactory1
 * @Description
 * @Author niutongtong
 * @Date 2019-06-02 21:20
 * @Version V1.0
 **/
public class ConcreteFactory1 extends  Factory{
  @Override
  public Product factoryMethod() {
    return new ConcreteProduct1();
  }
}

package com.java.ntt.designPatterns.FactoryMethed;

/**
 * @ClassName ConcreteFactory2
 * @Description
 * @Author niutongtong
 * @Date 2019-06-02 21:21
 * @Version V1.0
 **/
public class ConcreteFactory2 extends  Factory {
  @Override
  public Product factoryMethod() {
    return new ConcreteProduct2();
  }
}

image

学习参考: 传送门

相关文章

  • 2021-11-16 - 学习记录

    设计模式学习:创建型:工厂(工厂方法,抽象工厂),建造者,单例,原型 设计模式:工厂模式 简单工厂 工厂方法 抽象工厂

  • 设计模式-抽象工厂模式

    前面我们学习了了简单工厂模式和工厂方法模式,今天我们来学习设计模式中最后的一种工厂模式——抽象工厂模式(Abstr...

  • 设计模式-工厂模式<二>

    今天来学习下工厂方法模式. 工厂方法模式与简单工厂模式最大区别在于,工厂方法抽象了一个定义生产产品的工厂接口,具体...

  • 设计模式(java)- 单例模式

    之前学习是简单工厂模式、工厂方法模式、抽象工厂模式,复习一下 简单工厂模式 简单工厂模式大概就是创建一个简单工厂类...

  • 简单工厂模式,工厂方法模式,抽象工厂模式梳理

    用简单的图来理解三种工厂模式,来加深对此的理解: 简单方法模式: 工厂方法模式: 抽象工厂模式: 此文仅为自己学习...

  • 设计模式-单例模式

    我们前面已经学习了简单工厂模式,工厂方法模式,抽象工厂模式,今天我们来学习下同样是创建型模式的 单例模式 (Sin...

  • 设计模式-3种工厂模式

    工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 工厂方法根据参数直接创建实例:工厂->产品 ...

  • 设计模式(3) 抽象工厂模式

    抽象工厂模式 优化抽象工厂 异步工厂 在学习抽象工厂模式前,先来回顾一下前面的简单工厂和工厂方法模式。简单工厂的职...

  • 工厂模式——抽象工厂模式

    在上篇文章工厂模式——工厂方法模式中,我们根据案例学习了工厂方法模式知识点。此篇我们引入新的需求场景下,在对比工厂...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

网友评论

      本文标题:工厂方法模式学习

      本文链接:https://www.haomeiwen.com/subject/fwbgxctx.html