我的设计模式学习之路2(工厂模式)

    工厂模式(Factory)

    所谓简单工厂模式是类的创建模式,是由一个工厂对象决定创建出哪 一种产品类的实例。

    角色:

    工厂类角色: 在客户端的直接调用创建产品,一个具体类,可以根据传入的参数不同返同不同的实例。

    抽象产品角色: 一个接口,定义了具体产品所受的规范,即相同的形为。 

    具体产品角色:工厂类角色所需创建的类,一个具体类或多个。

  


    1.简单工厂模式

       类图:

  

    一个简单例子,代码如下:

package com.design;

public class PersonFactory
{
	public Person getPerson(String str)
	{
		if(str.equals("chinese"))
		{
			return new Chinese();
		}
		if(str.equals("america"))
		{
			return new America();
		}
		return null;
	}

}

interface Person
{
	public String sayHello();
	
	public String sayGoodbye();

}

class America implements Person
{
	@Override
	public String sayHello()
	{
		return "hello";
	}
	@Override
	public String sayGoodbye()
	{
		return "goodbye";
	}

}

class Chinese implements Person
{
	@Override
	public String sayHello()
	{
		return "你好";
	}
	@Override
	public String sayGoodbye()
	{
		return "再见";
	}

}

测试类Test

package com.design;

public class Test
{
	public static void main(String[] args)
	{
		PersonFactory factory = new PersonFactory();
		
		Person chinese=factory.getPerson("chinese");
		
		System.out.println(chinese.sayHello());
		System.out.println(chinese.sayGoodbye());
		
		Person america = factory.getPerson("america");
		
		System.out.println(america.sayHello());
		System.out.println(america.sayGoodbye());
		
	}
}

2.抽象工厂模式





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值