设计模式-工厂模式

意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。

主要解决:主要解决接口选择的问题。

何时使用:我们明确地计划不同条件下创建不同实例时。

如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品

工厂模式用到了单一职责,他是创建型模式

定义一个接口  

public interface Money{
    
        void version();
}

public class One implements Money {

    @Override
    public void version() {
        // TODO Auto-generated method stub
        System.out.println("2010版1块钱");
    }

}

public class two implements Money {

    @Override
    public void version() {
        // TODO Auto-generated method stub
        System.out.println("2020版2块钱");
    }

}

public class FactoryMoney {
    public static Money getMoney(String name) {
        if(null!=name||!"".equals(name)) {
            if(name.equals("One")) {
                return new One();
            }else if(name.equals("Two")) {
                return new Two();
            }
        }
            return null;
    }
    
}

//最后一步,根据名称创建对应的子类

public class FactoryTest {
    
    public static void main(String[] args) {
        
        Shape One=    FactoryMoney.getShape("One");
        One.version();
    }
}

原文地址:https://www.cnblogs.com/hellohero55/p/11161160.html