工厂模式:
定义:
定义一个用于创建对象的接口,让子类决定实例化那个类。
使用场景
在任何需生成复杂对象的地方,都可以使用工厂方法模式。复杂对象适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式。
工厂模式的通用代码
/**
* 产品类的抽象方法
* 由具体产品去实现
*/
public abstract class Product {
public abstract void method();
}
/**
* 具体产品类
*/
public class ConcreteProduct extends Product {
@Override
public void method() {
//实现具体的方法
}
}
public abstract class Factor {
/**
* 抽象工厂方法
* 具体生产什么由子类去实现
*/
public abstract Product createProduct();
}
/**
* 具体工厂类
*/
public class ConcreteFactor extends Factor {
@Override
public Product createProduct() {
return new ConcreteProduct();
}
}
//我们使用Activity作为客户类
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建一个具体工厂
Factor factor=