spring用到的设计形式-工厂模式

spring用到的设计模式-工厂模式
Spring用到的设计模式之一
核心:用到工厂设计模式
1. Person.java
package com.simplefactory;

public interface Person {
	public String sayHello(String name);
	public String sayGoodBye(String name);
}

2. Chinese.java
package com.simplefactory;

public class Chinese implements Person{

	@Override
	public String sayGoodBye(String name) {
		return "good by:"+name;
	}

	@Override
	public String sayHello(String name) {
		return "hello:"+name;
	}

}

3. American.java
package com.simplefactory;

public class American implements Person {

	@Override
	public String sayGoodBye(String name) {
		return "good by:"+name;
	}

	@Override
	public String sayHello(String name) {
		return "hello:"+name;
	}

}

4. Factory.java
package com.simplefactory;

public class Factory {
	public Person getPerson(String name){
		if("american".equals(name)){
			return new American();
		}else if("chinese".equals(name)){
			return new Chinese();
		}else{
			return null;
		}
	}
}

5. Client.java
package com.simplefactory;

public class Client {
	public static void main(String[] args) {
		Factory factory=new Factory();
		
		Person person=factory.getPerson("chinese");
		System.out.println(person.sayHello("张三"));
		System.out.println(person.sayGoodBye("张三"));
		
		person=factory.getPerson("american");
		System.out.println(person.sayHello("Tom"));
		System.out.println(person.sayGoodBye("Tom"));
	}
}