package factoryMethod;
public class Main{
/**
* @author yyz
* @param args
*/
public static void main(String[] args){
Service service = ServiceImpl.factory.GetService();
service.method();
}
}
package factoryMethod;
public interface Service{
public void method();
}
package factoryMethod;
public interface ServiceFactory{
public Service GetService();
}
package factoryMethod;
public class ServiceImpl implements Service{
public void method(){
System.out.println("impl+method");
}
public static ServiceFactory factory= new ServiceFactory(){
public Service GetService(){
return new ServiceImpl();
}
};
}
利用java内部类方法创建工厂模式
类似方法在effective java第一章中有详细介绍
目的依然是减少create parameter所消耗的资源,加快速度
第一章简略:static method PK constructor
factory method Optimization