抽象工厂类
package miluo.design.patterns.factoryMethod;import miluo.design.patterns.simpleFactory.Machine;/*** @author Miluo* @className AbstractFactory* @description* @date 2022/2/16**/public abstract class AbstractFactory {/*** getMachine* @return Machine*/abstract Machine getMachine();}
具体工厂类
package miluo.design.patterns.factoryMethod;import miluo.design.patterns.simpleFactory.ChinaMachine;import miluo.design.patterns.simpleFactory.Machine;/*** @author Miluo* @className CnFactory* @description* @date 2022/2/16**/public class CnFactory extends AbstractFactory {@OverrideMachine getMachine() {return new ChinaMachine();}}
package miluo.design.patterns.factoryMethod;import miluo.design.patterns.simpleFactory.AmericanMachine;import miluo.design.patterns.simpleFactory.Machine;/*** @author Miluo* @className CnFactory* @description* @date 2022/2/16**/public class UsaFactory extends AbstractFactory {@OverrideMachine getMachine() {return new AmericanMachine();}}
抽象产品类
package miluo.design.patterns.simpleFactory;/*** @author Miluo* @className Machine* @description 抽象产品类* @date 2022/2/16**/public abstract class Machine {/*** sayHello* @return String*/public abstract String welcome();}
具体产品类
package miluo.design.patterns.factoryMethod;import miluo.design.patterns.simpleFactory.ChinaMachine;import miluo.design.patterns.simpleFactory.Machine;/*** @author Miluo* @className CnFactory* @description* @date 2022/2/16**/public class CnFactory extends AbstractFactory {@OverrideMachine getMachine() {return new ChinaMachine();}}
package miluo.design.patterns.factoryMethod;import miluo.design.patterns.simpleFactory.ChinaMachine;import miluo.design.patterns.simpleFactory.Machine;/*** @author Miluo* @className CnFactory* @description* @date 2022/2/16**/public class CnFactory extends AbstractFactory {@OverrideMachine getMachine() {return new ChinaMachine();}}
