美文网首页Android技术知识Android知识Android开发
每日Android源码设计模式之-四、工厂模式

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

作者: Alexey | 来源:发表于2017-03-17 23:49 被阅读0次

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


    定义:

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


    使用场景:

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


    使用方法:

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

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

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

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


    在android中的应用

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


    工厂模式实战:

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

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

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

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


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

    相关文章

      网友评论

        本文标题:每日Android源码设计模式之-四、工厂模式

        本文链接:https://www.haomeiwen.com/subject/sehpnttx.html