工厂模式定义:创建对象的接口
工厂模式中也有两种:1.工厂方法 2.抽象工厂
1.
根据工厂模式的设计原理创建相应的代码:
接口类
代码语言:javascript复制package com.zuoyan.factory;
/**
* 这是一个简单的接口,然后让子类去实现这个接口
* @author zuoyan
*
*/
public interface Simple {
}
实现类A
代码语言:javascript复制package com.zuoyan.factory;
public class SimpleA implements Simple {
}
实现类B
代码语言:javascript复制package com.zuoyan.factory;
public class SimpleB implements Simple {
}
工厂类
代码语言:javascript复制package com.zuoyan.factory;
/**
* Factory 获取实现了的类
* @author zuoyan
*
*/
public class Factory {
public static Simple creator(int which) {
if (which == 1) {
return new SimpleA();
} else {
return new SimpleB();
}
}
}
进一步稍微复杂一点,就是在工厂类上进行拓展,工厂类也有继承他的实现类 concreteFactory了。
抽象工厂:
工厂模式中有:工厂方法 (Factory Method) 抽象工厂(Abstract Factory)
这两种模式的区别在于需要创建对象的复杂程度上。