什么是工厂模式

一、什么是工厂模式?

      工厂模式是一种创建型设计模式,它提供了一种抽象工厂来创建相关对象的实例,而无需指定其具体类。这种方式可以通过将对象的创建和使用分离开来,从而使得代码更具有灵活性和可扩展性。

二、工厂模式的好处:

降低耦合度:通过将对象的创建和使用分离开来,不同的类之间只需要知道接口而不需要关心具体实现,从而减少了类之间的依赖,减低了耦合度。

更容易扩展:当需要添加新的对象时,只需要添加相应的代码即可,而不需要修改原有的代码,从而使得系统更容易进行扩展和维护。

提高代码复用率:由于多个类可以共享同一个工厂,因此可以提高代码的复用率。

更好地控制对象的生命周期:工厂可以控制对象的创建、销毁及其它管理行为,从而能够更好地控制对象的生命周期。

简化编程:客户端只需要知道所需参数即可,而不需要知道具体的实现细节,从而简化了编程难度。

三、工厂模式的应用场景: 

对象的创建比较复杂或需要进行扩展时,例如需要根据不同的参数创建不同的对象。

需要将对象的创建和使用分离开来时,例如需要将对象的创建交给专门的工厂类来处理,而客户端只需要提供相应的参数即可。

需要控制对象的生命周期时,例如需要对对象进行统一管理,以便在系统启动时进行初始化、在系统关闭时进行销毁等。

需要降低类之间的耦合度时,例如当不同的类需要使用相同的接口或抽象类时,可以通过工厂方法来创建对象,从而减少了类之间的依赖关系。

需要实现特定的设计模式时,例如抽象工厂模式、工厂方法模式等。

四、实现方式: 

//            七牛云
        const qiNiu='111';
//            阿里云
        const aLi='222';
//            腾讯云
        const  tXun='333';
//        工厂模式调用不同方式的云图片上传
      public static function  images($type){
          switch ($type){
              case self::qiNiu:
                  $obj=new QiNiuController();
                  break;
              case self::aLi:
                  $obj=new ALiController();
                  break;
              case self::tXun:
                  $obj=new TXunController();
                  break;
              default :
                  return null;
          }
          return $obj;
      以上仅供参考,具体实现什么场景可自己定义。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值