最近看java设计模式,做了些许整理,此篇文章记录讨论抽象工厂,附带动态类加载。
抽象工厂的特点是将对象的创建交给工厂,我们的程序在需要使用对象的时候去调用工厂,产生对象。由此可见,抽象工厂的使用涉及到对象复用,在大量复用的情况下才能体现工厂的特点。当然设计模式不是独立存在的,设计模式只是用来简化代码编写的固有模式,犹如活字印刷一样。
此篇文章总结工厂模式还将使用单例以及类的动态加载。
工厂:
public class FactoryModel
{
private static Object factory;
public static Object getInstace(String className ){
try
{
Class<?> c = Class.forName(className);
factory = c.newInstance();
}
catch (Exception e)
{
e.printStackTrace();
}
return factory;
}
}
测试类:
public class TestFacory
{
/**
* 工厂测试。
*
* @param args
*/
public static void main(String[] args)
{
TestFacory testFacory = (TestFacory)FactoryModel.getInstace(TestFacory.class.getName());
testFacory.test();
}
private void test()
{
System.out.println("Test Factory!");
}
}
此处偷懒,没有多建实体类做测试,但是也体现了工厂的方便性,尤其是使用了动态加载类,我们在实际使用的时候可以通过传导类名直接生成一个类对象,并可以使用它的所有属性和方法。