前言
使用设计模式可以使我们在进行程序开发时解决面临的开发问题,使其代码更加简介,通俗易懂
定义
在简单工厂模式中,是根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类。
为何使用
当我们界面上需要展示不同的控件(例:圆形按钮,圆角按钮,方形按钮)的时候,需要用到。
这些按钮起始都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观。
三个角色
Product:抽象产品角色 ConcreteProduct:具体产品角色 Factory:工厂角色应用场景
当我们只有一个工厂,这个工厂生成不同的产品的时候,就可以使用简单工厂模式。但是当有多个工厂的时候,这个模式显然不太适用了,需要使用工厂方法设计模式,下面的博客将进行更新。
举例使用
1.创建抽象产品角色
//抽象产品角色
public abstract class Product {
public abstract void make();
}
2.创建具体产品角色(角色可以创建多个,我这里创建了2个),继承抽象产品类
public class Product1 extends Product {
private static String TAG = Product1.class.getSimpleName();
@Override
public void make() {
Log.e(TAG,"产品1");
}
}
public class Product2 extends Product {
private static String TAG = Product2.class.getSimpleName();
@Override
public void make() {
Log.e(TAG,"产品2");
}
}
3.创建工厂角色,进行下面产品方法的实现
public class Factory {
public static Product create(String productType) {
Product product = null;
switch (productType) {
case "1":
product = new Product1();
break;
case "2":
product = new Product2();
break;
}
return product;
}
}
4.测试
private void test() {
Factory.create("1").make();
}