Java是面向对象的语言,所以个人觉得理解java的东西自然而然的可以和现实所拥有的模型联系起来。
Java工厂模式我们可以这么理解,他就是一个专门生产工具的工厂,那工具在这个具体的场景里指的就是接口,那么工厂模式就是专门生产接口的工厂。
现在年轻的朋友都喜欢吃烧烤,我们就以烤肉串的铁丝网为例。话说有一家工厂专门生产这种烧烤的铁丝网。那生产铁丝网我们就可以抽象为一种技能,一种工具,一个接口。上代码
package com.shaokao;
public interface TisiwangInt {
public void provide();
}
工具接口有了,我们给他具体的实现,就是他具体是怎么生产铁丝网的。
package com.shaokao;
publicclass TiesiwangImp implements TisiwangInt{
@Override
public void provide() {
//TODOAuto-generated method stub
System.out.println("我是猴子请来造铁丝网的,在这里我会造个铁丝网,具体怎么造who care");
}
}
接口和实现都有了,是时候开工厂发财了,现在开一个具有生产铁丝网功能的工厂,上代码
package com.shaokao;
publicclass TiesiwangFac implementsTisiwangInt{
@Override
public void provide() {
//TODOAuto-generated method stub
TiesiwangImp tsw=new TiesiwangImp();
tsw.provide();
}
}
用烧烤小贩来测试
package com.shaokao;
public class Xiaofan {
public static void main(String[]args) {
//TODOAuto-generated method stub
System.out.println("我是小贩,准备买个烧烤铁丝网");
System.out.println("联系工厂");
TiesiwangFac fac=new TiesiwangFac();
System.out.println("确认ok!开始生产");
fac.provide();
System.out.println("到货,开始烧烤!");
}
}
网友评论