linkin大话设计模式--工厂方法
什么是工厂方法:将多个类对象交给工厂来生成的设计被称为简单工厂模式,个人认为主要是为了实现解耦,在代码重构的时候会很重要。
代码如下:
public class Computer {
//将其中的依赖设置成属性 注意其中的类型是接口
private output out;
//默认的构造器 最好不要省略 不管用到不用到
public Computer(){
}
//属性注入的构造器 一般在使用简单工厂的时候 都是将其中的依赖作为输入注入 在spring中也可以使用set方法来注入
public Computer(output out) {
super();
this.out = out;
}
public void out(){
out.outPrint();
}
public static void main(String[] args) {
outputFactory out = new outputFactory();
Computer computer = new Computer(out.getOutput());
//要是工厂获得实体的方法是output1 输出output1...
//要是工厂获得实体的方法是output2 输出output2...
computer.out();
}
}
class outputFactory{
public output getOutput(){
//下面的实现要是换掉的话 直接在工厂里面修改就可以了 这样子就实现了上面的类在调用依赖的方法和属性的时候解耦
return new output1();
//return new output2();
}
}
//接口 在上面的Computer类中调用了一个依赖的方法 其中这个类型就是下面的接口的
interface output{
public void outPrint();
}
class output1 implements output{
@Override
public void outPrint() {
System.out.println("output1...");
}
}
class output2 implements output{
@Override
public void outPrint() {
System.out.println("output2...");
}
}