设计模式之简单工厂模式

简单来说,工厂模式就是按照需求来返回一个类型的对象,使用工厂模式的意义就是,如果对象的实例化与代码依赖太大的话,不方便进行扩展和维护,使用工厂的目的就是使对象的实例化与主程序代码就行解耦.

1. 简单工厂模式简介
简单工厂模式(Simple Factory),又被称为"静态工厂方法模式"。它属于"创建模式"(创建对象的模式),并且是"工厂方法"模式的一种特殊实现。

工厂:工厂是简单工厂模式的核心,提供了对外接口。客户端或其它程序要获取Product对象,都是通过Factory的接口来获取的。

抽象产品:抽象产品是(许多)不同产品抽象出来的。Product可以是接口或者抽象类。

具体产品:工厂中返回的产品对象。

2. 简单工厂模式代码

 

public interface Car {
    public void run();
}
public class Audi implements Car{
    @Override
    public void run() {
        System.out.println("奥迪在跑!");
    }
}
public class Byd implements Car{
    @Override
    public void run() {
        System.out.println("比亚迪再跑");
    }
}
public class CarFactory {

    public static Car createCar(String type){
        if("奥迪".equals(type)){
            return  new Audi();
        }else if("比亚迪".equals(type)){
            return new Byd();
        }else{
            return null;
        }
    }
}
/**
 * Created by chengbx on 2018/5/30.
 * 简单工厂模式
 */
public class ClientFactory {
    @Test
    public  void test(){
       Car audi = CarFactory.createCar("奥迪");
       Car byd = CarFactory.createCar("比亚迪");
       audi.run();
       byd.run();
    }
}

3.总结

简单工厂模式, 总结起来就是一个工厂类,一个产品接口(其实也可以是一个抽象类,甚至一个普通的父类)和一群实现了产品接口的具体产品,而这个工厂类,根据传入的参数去创造一个具体的实现类,并向上转型为接口作为结果返回。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值