工厂模式(一)--简单工厂模式

来源:互联网 发布:网站入侵数据更改高手 编辑:程序博客网 时间:2024/04/20 11:30

简单工厂模式(也称为静态工厂模式)

简单工厂模式的作用:通过一个类去实例化对象,不需要直接把类的创建写在逻辑中,达到一定程度的解耦,方便维护。但是未遵循开闭原则。

看一下例子:
场景:现在有一个工厂,承接了小米,华为,苹果3个品牌手机制造。

手机类

public abstract class Phone {    public abstract String getDescript();    public abstract void call();}
public class ApplePhone extends Phone{    @Override    public String getDescript() {        return "苹果";    }    @Override    public void call() {}}
public class HuaWeiPhone extends Phone{    @Override    public String getDescript() {        return "华为";    }    @Override    public void call() {}}
public class XiaoMiPhone extends Phone {    @Override    public String getDescript() {        return "小米";    }    @Override    public void call() {}}

手机工厂

public class PhoneFactory {    public static Phone createPhone(String tag) {        Phone phone = null;        switch (tag) {            case "iphone":                phone = new ApplePhone();                break;            case "xiaomi":                phone = new XiaoMiPhone();                break;            case "huawei":                phone = new HuaWeiPhone();                break;        }        return phone;    }}

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Phone phone = PhoneFactory.createPhone("xiaomi");        if (phone==null){            return;        }        String descript = phone.getDescript();        Log.e("zhang", "onCreate: "+descript);    }}
0 0