简单记录一下吧,比如现在有两种方法可以完成一个功能,分别是MethodA和MethodB,这时我们可以新建一个工厂类MethodFactory,调用者只需要传入一个type就可以实现这个功能,具体代码如下。
public class test {
public static void main(String[] args) {
new MethodFactory();
Method position = MethodFactory.getInstance("typeA");
position.getUserName();
position.getPassWord();
}
}
class MethodFactory {
public static Method getInstance(String type) {
if ("typeA".equals(type)) {
return new MethodA();
} else {
return new MethodB();
}
}
}
class MethodA implements Method {
@Override
public void getUserName() {
System.out.println("这是通过MethodA获取到的用户名");
}
@Override
public void getPassWord() {
System.out.println("这是通过MethodA获取到的用户密码");
}
}
class MethodB implements Method {
@Override
public void getUserName() {
System.out.println("这是通过MethodB获取到的用户名");
}
@Override
public void getPassWord() {
System.out.println("这是通过MethodB获取到的用户密码");
}
}
interface Method {
public void getUserName();
public void getPassWord();
}
以上就是很简单的一个工厂模式的思路,可能理解还没到位,以后再看看。