JAvaにおけるファクトリモードコード

1409 ワード

簡単な3つのコードですが、工場モードの妙用を簡単に理解することができます.一般的に、私たちがオブジェクトを作成するのはnewでオブジェクトを作成しますが、必要なオブジェクトが多い場合、私たちは1つ1つ作成することはできません.このように複雑すぎて、間違いやすいので、工場モードが誕生しました.私たちは1つの方法を呼び出すだけです.オブジェクトを作成し続けることで、言語の堅牢性を向上させ、コードを直接見ることができます. 
package com.test.csdn;

public class Student {

	/*public Student(String str) {
		
	}*/
}
package com.test.csdn;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

import javax.rmi.ssl.SslRMIClientSocketFactory;

public class Factory {

	public static Object newInstance(Class clazz) throws NoSuchMethodException {
		Object object = null;
		try {
			Constructor constructor= clazz.getConstructor();
			object = constructor.newInstance();//    
		} catch (NoSuchMethodException | SecurityException e) {
			throw new NoSuchMethodException(clazz.getName()+"         ");
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		return object;
	}
}
package com.test.csdn;

public class Test{
	
	public static void main(String[] args) throws NoSuchMethodException {
		Object obj = Factory.newInstance(Student.class);
		System.out.println(obj);
	}
	
}