美文网首页
java设计模式------抽象工厂模式

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

作者: 我弟是个程序员 | 来源:发表于2017-10-23 14:57 被阅读0次

这个模式,具体有啥作用,感觉作用不明显...可能是本人学艺不精吧。

目的:是为了把产品的实例化操作延迟到子类工厂中完成,通过工厂子类来决定究竟应该实例化哪一个产品具体对象。

工厂方法模式包含四个部分:

  • 抽象产品:产品对象同一的基类,或者是同一的接口。

  • 具体的产品:各个不同的实例对象类

  • 抽象工厂:所有的子类工厂类的基类,或是同一的接口

  • 具体的工厂子类:负责每个不同的产品对象的实际创建

类图:

工厂模式
1.产品层
  • 产品抽象层
/**
 * 产品抽象层
 */
public interface Car {
    /**
     * 上班函数
     */
    void gotowork();
}

  • Bike产品
/**
 * 具体产品
 */
public class Bike implements Car {
    public void gotowork() {
        System.out.println("骑自行车去上班!");
    }
}
  • Bus产品
/**
 * 具体产品
 */
public class Bus implements Car {
    public void gotowork() {
        System.out.println("坐公交车去上班!");
    }
}
2.工厂层
  • 工厂抽象层
/**
 * 工厂抽象
 */
public interface ICarFactory {
    /**
     * 获取交通工具
     */
    Car getCar();
}
  • BikeFactory工厂
import com.sqlb.factory.Car;
import com.sqlb.factory.ICarFactory;

/**
 * 具体工厂
 */
public class BikeFactory implements ICarFactory {
    public Car getCar() {
        return new Bike();
    }
}
  • BusFactory工厂
import com.sqlb.factory.Car;
import com.sqlb.factory.ICarFactory;

/**
 * 具体工厂
 */
public class BusFactory implements ICarFactory {
    public Car getCar() {
        return new Bus();
    }
}
3.测试

测试代码:

    public void test() {
        ICarFactory factory = null;
        // bike
        factory = new BikeFactory();
        Car bike = factory.getCar();
        bike.gotowork();

        // bus
        factory = new BusFactory();
        Car bus = factory.getCar();
        bus.gotowork();
    }

测试结果:

测试结果

相关文章

  • Java设计模式教程

    Java设计模式教程 Java工厂设计模式 Java抽象工厂模式 Java单例模式 Java建造者(Builder...

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

    JAVA设计模式系列: 单例模式 观察者模式 模板方法模式 简单工厂模式 抽象工厂模式 抽象工厂模式 定义 抽象工...

  • 代码段简单学习设计模式 -- 抽象工厂模式

    《JAVA与模式》之抽象工厂模式 大话设计模式 抽象工厂模式(Abstraci Factory): 提供一个创...

  • Java设计模式系列-抽象工厂模式

    原创文章,转载请标注出处:《Java设计模式系列-抽象工厂模式》 一、概述 抽象工厂模式是对工厂方法模式的再升级,...

  • 设计模式——工厂模式和抽象工厂模式

    Java设计模式——工厂模式 工厂模式和抽象工厂模式都属于创建型模式。 创建型模式这些设计模式提供了一种在创建对象...

  • 设计模式四、抽象工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 抽象工厂模式 ...

  • 常用设计模式

    设计模式 工厂模式 工厂模式思路上分:简单工厂模式,工厂模式, 抽象工厂模式// 抽象工厂模式可以代替工厂模式,做...

  • 单件设计模式

    一、定义 设计模式 设计模式就是一种更好的编写代码方案。 常见设计模式 工厂设计模式、抽象工厂设计模式、抽象工厂设...

  • Java与模式

    《JAVA与模式》之简单工厂模式《JAVA与模式》之工厂方法模式《JAVA与模式》之抽象工厂模式

  • 总览

    1 书籍推荐 《Java设计模式》 2 分类 创建型模式 工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模...

网友评论

      本文标题:java设计模式------抽象工厂模式

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