关于简单工厂设计模式,刚学到的时候,其实不理解怎么回事,其实也就是把客户端于服务端直接的耦合性降低而已
下面的代码先来实现不用简单工厂模式的代码:
首先是一个布娃娃类:
public class Colthdoll implements doll {
public String getinfo() {
return "我是一个布娃娃......";
}
}
然后是一个芭比娃娃类:
public class Bbdoll implements doll{
public String getinfo() {
return "我是芭比娃娃......";
}
}
最后用客户端来实现:
public class Demo {
public static void main(String[] args) {
Colthdoll c=new Colthdoll();
System.out.println(c.getinfo());
Bbdoll b=new Bbdoll();
System.out.println(b.getinfo());
}
}
在上面的代码中,两个娃娃和Demo分别代表服务端和客户端,客户端中的直接来调用服务端的,如果服务端的东西改变了,比如,芭比娃娃不再生产了,那么客户端直接调用就会发生错误,所以用工厂类来降低客户端和服务端直接的耦合性。
一个娃娃的接口:
public interface doll {
public String getinfo();
}
public class Colthdoll implements doll {
public String getinfo() {
return "我是一个布娃娃......";
}
}
public class Bbdoll implements doll{
public String getinfo() {
return "我是芭比娃娃......";
}
}
工厂类:
public class Factory {
public static doll getInstance(String d){
if("Colthdoll".equals(d)){
return new Colthdoll();
}else if("Bbdoll".equals(d)){
return new Bbdoll();
}
return null;
}
}
最后是客户端:
public class FactoryDemo {
public static void main(String[] args) {
doll clothdoll=Factory.getInstance("Bbdoll");
System.out.println(clothdoll.getinfo());
}
}