工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式,本文主要讲述简单工厂模式。
1.简单工厂(simpleFactory)
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

下面是我的小测试,创建一个衣服厂(SimpleClothesFactory),可以生产裙子(Dress),裤子(Trousers)和上衣(skirt)
- 创建衣服的抽象方法
// 衣服 抽象 public abstract class Clothes { public abstract void desc(); }
- 裙子(Dress)
package com.headerFirstTest.factoryPattern.simpleFactory.MyTest; //连衣裙 public class Dress extends Clothes{ @Override public void desc() { System.out.println("生产连衣裙"); } }
- 裤子(Trousers)
package com.headerFirstTest.factoryPattern.simpleFactory.MyTest; //裤子 public class Trousers extends Clothes{ @Override public void desc() { System.out.println("生产裤子"); } }
- 上衣(skirt)
package com.headerFirstTest.factoryPattern.simpleFactory.MyTest; //上衣 public class Skirt extends Clothes{ @Override public void desc() { System.out.println("生产上衣"); } }
- 衣服工厂
package com.headerFirstTest.factoryPattern.simpleFactory.MyTest; //衣服工厂 public class SimpleClothesFactory { public static final int TYPE_Dress = 1; public static final int TYPE_Trousers = 2; public static final int TYPE_Skirt = 3; public static Clothes createClothes(int type){ if (type == TYPE_Dress) { return new Dress(); }else if (type == TYPE_Trousers) { return new Trousers(); }else if(type == TYPE_Skirt) { return new Skirt(); }else{ return new Dress(); } } }
- 测试
package com.headerFirstTest.factoryPattern.simpleFactory.MyTest; public class Test { public static void main(String[] args) { Clothes dress = SimpleClothesFactory.createClothes(SimpleClothesFactory.TYPE_Dress); dress.desc(); Clothes trousers = SimpleClothesFactory.createClothes(SimpleClothesFactory.TYPE_Trousers); trousers.desc(); Clothes skirt = SimpleClothesFactory.createClothes(SimpleClothesFactory.TYPE_Skirt); skirt.desc(); } }
- 结果
生产连衣裙
生产裤子
生产上衣
浙公网安备 33010602011771号