工厂模式

一、工厂模式简介

工厂模式主要用来屏蔽创建对象的具体过程;一般工厂模式分为三类:

  •     简单工厂模式(静态工厂模式)
  •     工厂方法模式
  •     抽象工厂模式

二、分类介绍

  •     简单工厂模式:三个组成部分
  1.     抽象产品(一般为接口)
  2.     产品实现对象(实现 1、抽象产品的实现类)
  3.     工厂对象(根据具体产品名创建具体的类对象(即2、产品实现对象))

demo:

//抽象 产品1
interface Product{
    void hello();
}
//抽象 产品2
abstract class Product_2{
    abstract void hello();
}
//抽象 产品1的具体产品
class ProductImpl implements Product{
    public void hello(){

    }
}
//抽象 产品2的具体产品
class Product_2Impl extends Product_2{
    void hello(){

    }
}
//抽象 产品1、2的具体产品的生产工厂
class Factory{
    public static Product getProductImpl(String name) {
        if (name.equals("productImpl"))
            return new ProductImpl();
        else
            return null;
    }


    public static Product_2 getProduct_2Impl(String name){
        if (name.equals("Product_2Impl"))
            return new Product_2Impl();
        else
            return null;
    }

}
  • 工厂方法模式   

        组成部分:抽象产品、具体产品、抽象工厂、具体工厂

        在简单工厂模式的基础上增加了抽象工厂,使得每类具体产品的创建由相应的具体工厂去创建

demo:

//抽象 产品1
interface Product{
    void hello();
}

//抽象 产品1的具体产品
class ProductImpl implements Product{
    public void hello(){

    }
}

//抽象工厂
interface Factory{
    Product getProduct();
}
//抽象工厂的具体实现
class FactoryImpl1 implements  Factory{
    @Override
    public Product getProduct() {
        return new ProductImpl();
    }
}

  • 抽象工厂模式


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值