Simple Factory (简单工厂模式)

 Simple Factory (简单工厂模式)

 

  • 简单工厂模式不是23种设计模式之一,简单工厂模式属于创建型模式
  • 又叫做静态工厂方法(Static Factory Method)
  • 简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

 

角色:

 

   抽象产品角色(Product) :

          是所有对象的父类,它负责描述所有实例所共有的公共接口。

 

   具体产品角色(ConcreteProduct)

          所有创建的对象都是充当这个角色的某个具体类的实例,实现了Product接口。

 

   工厂类角色(Creator)

          简单工厂模式的核心,是创建所有实例的内部逻辑,可被外界直接访问(因为里面有一个静态方法),创建所需产品的对象。

 

 

代码实现:

 

1.Product.java

 

package com.simplefactory ;

// 定义一个抽象产品角色
public interface Product
{
}



 

2.ConcreteProductA.java

 

package com.simplefactory ;

//具体产品角色A
public class ConcreteProductA implements Product
{
}


 

3.ConcreteProductB.java

 

package com.simplefactory ;

//具体产品角色B
public class ConcreteProductB implements Product
{
}

 

4.Creator.java

 

package com.simplefactory ;

//工厂类角色
public class Creator
{
	public static Product methodTest(String str)
	{
		if ("A".equals(str))
		{
			//这里可做好多事
			return new ConcreteProductA() ;
		}

		else if ("B".equals(str))
		{
			return new ConcreteProductB() ;
		}

		return null ;
	}
}


5.Client.java

 

package com.simplefactory ;

public class Client 
{
	public static void main(String[] args)
	{
		Product product = Creator.methodTest("A") ;
		System.out.println(product.getClass().getName()) ;

		Product product2 = Creator.methodTest("B") ;
		System.out.println(product2.getClass().getName()) ;
	}
}


 


 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值