设计模式学习之简单工厂模式(java)
2013-01-05 15:43
459 查看
java中我们要或得一个对象就要使用new来生产一个对象,想想如果我们要new很多个对象,但是这些对象又有很大的相似性,我们单纯使用new来生成对象的话会有很多对象会成为垃圾对象,所以我们的先辈们帮我们想到了工厂模式。今天首先学习简单工厂模式:
假如有一个工厂专门生成car,我们叫他carFactory ,而我们有两种车型分别是BMW 和AUDI,我们叫他BMWCar和AudiCar,但是我们发现Car有着很高的相似性,那我们就用java的接口抽象出一个Car
1.BMWCar
2.AudiCar
让我们的carFactory来生成我们的car了
简单工厂模式就是这样的。来看看我们的车出来了
假如有一个工厂专门生成car,我们叫他carFactory ,而我们有两种车型分别是BMW 和AUDI,我们叫他BMWCar和AudiCar,但是我们发现Car有着很高的相似性,那我们就用java的接口抽象出一个Car
public interface Car { //一辆车可以运行 public void run(); }所有的车类都要实现这个接口
1.BMWCar
public class BMWCar implements Car{ public void run() { System.out.println("开着bmw飞奔而去!!!"); } }
2.AudiCar
public class AudiCar implements Car{ public void run() { System.out.println("开着audi飞奔而去"); } }现在我们要定义一个简单工厂来生成car ,我们叫他simpleFactory
public class SimpleFactory { public Car createCar(String carType){ Car car = null; if(carType=="BMW"){ car = new BMWCar(); }else if(carType=="Audi"){ car = new AudiCar(); } return car; } }
让我们的carFactory来生成我们的car了
public class CarFactory { private Car car; SimpleFactory simpleFactory; public CarFactory(SimpleFactory simpleFactory){ this.simpleFactory = simpleFactory; } public Car createCar(String carType){ Car car = null; car = this.simpleFactory.createCar(carType); return car; } }现在要让我们的car跑起来了
public class Main { public static void main(String[] args){ System.out.println("我要一辆bmw...."); SimpleFactory simple = new SimpleFactory(); CarFactory carFactory = new CarFactory(simple); carFactory.createCar("BMW").run(); System.out.println("BMW生产完成"); System.out.println("我要一辆Audi...."); carFactory.createCar("Audi").run(); System.out.println("Audi生产完成"); } }
简单工厂模式就是这样的。来看看我们的车出来了
我要一辆bmw.... 开着bmw飞奔而去!!! BMW生产完成 我要一辆Audi.... 开着audi飞奔而去 Audi生产完成
相关文章推荐
- JAVA设计模式学习4——简单工厂模式
- Java学习笔记---设计模式之简单工厂模式
- 设计模式学习笔记(Java篇)之简单工厂模式
- Java研究之学习设计模式-简单工厂模式详解
- Java设计模式学习记录-简单工厂模式、工厂方法模式
- java设计模式学习之简单工厂模式
- 【幻化万千戏红尘】qianfengDay10-java基础学习:成员内部类、静态内部类、局部和匿名内部类,设计模式之简单工厂模式
- 学习:java设计模式—Decorator模式
- java设计模式学习记录
- Android设计模式学习(包含Java设计模式)-Builder模式-AJDesignMode03
- 黑马程序员 【】java学习之路——单例设计模式简介
- java学习笔记-设计模式11(桥接模式)
- [设计模式]学习设计模式之一(简单工厂模式)
- java设计模式之简单工厂模式
- java设计模式的学习资料
- 学习:java设计模式—工厂模式
- 设计模式---简单工厂模式(学习笔记)
- Java设计模式简单学习
- JAVA设计模式学习之----创建模式:工厂模式(工厂方法)
- JAVA设计模式之 简单工厂模式【Simple Factory Pattern】