Android技术知识Android知识Android开发

每日Android源码设计模式之-四、工厂模式

2017-03-17  本文已影响0人  Alexey

工厂模式相信大家很熟悉了,使用得很多


定义:

定义一个用于创建对象的接口,让子类来决定实例化哪个类。


使用场景:

任何需要生成复杂对象的地方,都可以使用工厂模式


使用方法:

有一个抽象的产品类,然后具体的子类去实现它。

然后有一个Factory类,在类里面有一个的createProduct方法,用来根据传入的参数创建具体的哪个产品类。

也可以传入Xxxx.Class,用反射来生成具体的实现类。

不用多讲了,实现很简单。


在android中的应用

我们知道Activity中有一个onCreate方法,onCreate中有一个setContentVIew设置了不同的view进去,不同的Activity设置了不同的View为当前界面的ContentView并传输给framework处理,大家体会下,其实这就是一个工厂模式结构。


工厂模式实战:

我们在进行数据存储的时候,可以写入文件流,可以写入SQlite数据库,可以写为xml文件等。

这时候我们可以定义一个抽象的类,里面有增删改查四种抽象方法,在具体的文件流、SQlite、xml文件写入类中具体实现。

最后在写一个工厂类,我们使用的时候往工厂类中通过传入Xxxx.class来生成实例并返回。

然后就可以调用增删改查方法。


总结,可能的缺点是当我们多了一个新产品的时候,需要编写一个新的产品类,还要引入抽象层,使得结构复杂度提高。

上一篇下一篇

猜你喜欢

热点阅读