设计模式二之工厂方法

意图:
1、Define an interface for creating an object,but let the clesses that implement the interface decide which class to instantiate.
2、The factory method lets a class defer instantiation to subclasses.
特点:
1、根据单一职责原则
2、专门的类用来实例化对象
3、工厂用来创建对象

package FactoryMethod;

public interface Factory {
    Monster create(int i);

}


package FactoryMethod;

public class UItraman implements Monster{

    @Override
    public void show() {
        System.out.println("奥特曼");

    }

}


package FactoryMethod;

public class WhiteBoneDemon implements Monster{

    @Override
    public void show() {
        System.out.println("白骨精");

    }

}


package FactoryMethod;

public class FactoryMethod implements Factory{

    @Override
    public Monster create(int i) {
        if(i==1){
            return new UItraman;
        }
        else if(i==0){

            return new WhiteBoneDemon;
        }else{
            return null;
        }

    }

}



package FactoryMethod;

public interface Monster {
    public void show();



}

你可能感兴趣的:(Design,Patterns)