设计模式之很简单的工厂方法模式和抽象工厂模式

什么情况下用工厂模式:

1.有一组类似的对象需要创建。

2.在编码时不需要创建哪种类的实例。

3.系统需要考虑扩展性,高内聚,低耦合。

主要用了反射

public interface IHair {
    void draw();
}
public class LeftHair implements IHair {
    public void draw() {
        System.out.println("left");
    }
}
public class RightHair implements IHair {
    public void draw() {
        System.out.println("right");
    }
}

public IHair getHairByClass(String className) throws Exception {
    IHair iHair=(IHair)Class.forName(className).newInstance();
    return iHair;
}
public class testMain {
    public static void main(String[] args) {
        HairFactory hairFactory=new HairFactory();
        try {
            IHair hairByClass = hairFactory.getHairByClass("Factory.LeftHair");
            hairByClass.draw();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
抽象工厂模式就是在工厂方法模式的外又加了一层。抽象模式可以根据需要选择不同的工厂。

猜你喜欢

转载自blog.csdn.net/weixin_40839342/article/details/80641235
今日推荐