什么是工厂模式,有什么优点,什么是工厂模式,除此之外还有哪些模式-

  什么是工厂模式,有什么优点,什么是工厂模式,除此之外还有哪些模式?

  

  什么是工厂模式java

  工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

  在工厂模式中,我们在创建对象时不向客户端公开创建逻辑,我们通过使用公共接口指向新创建的对象。

  简单来说就是用工厂方法代替new操作。通俗点说,就是创建对象的时候直接调用工厂方法就行了。编程的时候需要定义一个工厂接口,由不同的子类实现,然后定义一个具体的工厂类,定义一个生成实例的方法。我们可以通过这种方法得到实例。

  优点:

  1.一个调用者想要创建一个对象,只需要知道它的名字。

  2.高可扩展性。如果要添加产品,只需扩展一个工厂类。

  3.屏蔽产品的具体实现。来电者只关心产品的界面。

  缺点:

  每增加一个产品,都需要增加一个特定的类和对象实现工厂,使得系统中的类数量翻倍,一定程度上增加了系统的复杂度,也增加了系统中特定类的依赖性。这不是一件好事。

  应用实例:

  1.你需要一辆车,可以直接从工厂取车,不考虑车是怎么做出来的,也不考虑车内的具体实现。

  工厂模式的简单实现如下:

  //所有汽车的接口都有一个通用的驱动方式。

  公共接口车{

  public void drive();

  }

  //奥迪类实现了汽车接口,因为奥迪也是绝对可以开的车。

  大众级奥迪执行车{

  大众奥迪(){

  System.out.println(生产一辆奥迪);

  }

  @覆盖

  公共void drive() {

  System.out.println(开奥迪);

  }

  }

  //宝马类实现汽车接口是因为宝马也是汽车,当然可以开。

  公共级宝马弈车{

  大众宝马(){

  System.out.println(生产一辆宝马);

  }

  @覆盖

  公共void drive() {

  System.out.println(开宝马);

  }

  }

  //生产车的工厂收到一个车名,你告诉他你要生产什么车,就可以生产相应的车。

  公共类汽车工厂{

  公共静态Car getCar(String caename){

  if(caename . equals( Audi ){

  还新奥迪();

  } else if(caename . equals( BMW ){

  还新宝马();

  }

  返回null

  }

  }

  //测试

  公共类测试{

  公共静态void main(String[] args) {

  //告诉工厂类你需要生产一辆奥迪,然后发一个参数奥迪给安踏。

  Car audi=CarFactory.getCar(奥迪);

  //可以生产奥迪的车,调用驱动的方法就可以驱动。

  奥迪. drive();

  //宝马也差不多。

  car BMW=car factory . get car( BMW );

  宝马. drive();

  }

  }

  输出:

  变成了一辆奥迪。

  开奥迪

  生产一辆宝马

  开宝马推荐教程:java教程以上是工厂模式java的详细内容,更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: