android-学渣系列- 设计模式学习 - 抽象工厂

2019-01-07  本文已影响19人  品味与回味
1111.jpg image.png

提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类
这是抽象工厂的定义

我现在吧这个和工厂模式一起拿出来
image.png

他的模式方法就是定义一个创建对象的接口,让子类决定实例化哪一个类

public abstract class network {
      public  Http getHttp(){
          return  null;
      }
}

public class retrifithttp extends network {

    @Override
    public Http getHttp() {
        return super.getHttp();
    }
}


public abstract class iFactporynetwork {
    public  abstract  network getnetwork();
    public  abstract newworkgetHttps getnetworks();
}


public class httpIfactory extends iFactporynetwork {
    @Override
    public retrifithttp getnetwork() {
        return null;
    }

    @Override
    public newworkgetHttps getnetworks() {
        return null;
    }
}



  /**
         * 工厂模式,
         * 思考一下 下面的方法,比如以后加入新的方式  只需要在接口中加入新的方法
         * 然后新建相应的工厂模式就可以
         *
         * 什么是工厂模式呢
         * 定义了一个常见对象的接口,然后让他的子类决定实例化哪一个类吗,
         * 也就是上面我们写的 httpIfactory httpsIfactory  来决定创建哪一个对象
         *
         * 对我们来说 network 就是一个对象,我们封装这个对象之后,
         * 然后通过接口的子类来创建这个对象, 以后在添加新的对象 我们只添加就可以完成功能
         * 而且这个是创建对象的模式哦 大家记清楚
         *
         */
        iFactporynetwork  iFactporynetwork = new httpIfactory();
        network network =  iFactporynetwork.getnetwork();



如果会添加新的对象的时候就可以仿写retrifithttp 这样就达到了 我们的开放封闭原则, 写到这里 我们在来看一下 这个是抽象工厂的区别是什么?

区别

相同点

上一篇下一篇

猜你喜欢

热点阅读