赞
踩
工厂设计模式详解
工厂模式是抽象类的应用之一。下面详细的讲解利用抽象类来实现工厂模式的过程。
1. 工厂模式的结构图。
2. 工厂模式的应用。
一:工厂模式的结构图。
工厂模式的使用过程是:用户调用工厂类如上图中的CatFactory类来生成一个CatService,用户不需要了解到CatService类的实现过程,用户需要某个类的时候只需要调用它的工厂方法,工厂方法会给用户返回一个实例。利用Service和ServiceFactory接口的作用是利用多态。
二:工厂模式的应用。
package factoryTest;
interface Service {
void method1();
void method2();
}
interface ServiceFactory {
Service getService();
}
class CatService implements Service {
public void method1() {
System.out.println(":Cat realized the method1");
}
public void method2() {
System.out.println(":Cat realized the method2");
}
}
class DogService implements Service {
public void method1() {
System.out.println(":Dog realized the method1");
}
public void method2() {
System.out.println(":Dog realized the method2");
}
}
class CatFactory implements ServiceFactory {
@Override
public Service getService() {
return new CatService();
}
}
class DogFactory implements ServiceFactory {
@Override
public Service getService() {
return new DogService();
}
}
public class FactoryTest {
public static void serviceConsumer(ServiceFactory fact) {
Service service = fact.getService();
service.method1();
service.method2();
}
public static void main(String[] args) {
serviceConsumer(new CatFactory());
serviceConsumer(new DogFactory());
}
}
由上面代码可以看到工厂模式与接口结合的好处是:利用工厂可以直接提供服务,而且由于接口的存在各种不同的具体工厂实现类也可以进行匹配,使得代码更加的紧凑。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。