`

Java 设计模式之路《二》抽象工厂模式

 
阅读更多

Java 设计模式之路 - 抽象工厂模式(Abstract Factory)

 

 

抽象工厂模式(Abstract Factory)

 

工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就要用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。因为抽象工厂不太好理解,我们先看看图,然后结合代码,就比较容易理解。


 

总体来说,这个模式的好处就是,如果你现在想增加一个功能:发及时信息,则只需做一个实现类,实现Sender接口,同时做一个工厂类,实现Provider接口,就OK了,无需去改动现成的代码。这样做,拓展性较好。

 

public interface Sender {
      public void Send();
  }
  public class MailSender implements Sender { 
      @Override 
      public void Send() {
          System.out.println("this is mailsender!");
      }
  }
  public class SmsSender implements Sender {
      @Override
      public void Send() {
          System.out.println("this is sms sender!");
     }
  }
  public class SendMailFactory implements Provider {
        @Override
        public Sender produce(){
            return new MailSender();
        }
  }
  public class SendSmsFactory implements Provider{ 
      @Override
      public Sender produce() {
          return new SmsSender();
      }
  }
  public interface Provider {
      public Sender produce();
  }
  public class Test {
        public static void main(String[] args) {
            Provider provider = new SendMailFactory();
            Sender sender = provider.produce();
            sender.Send();
        }
  }

 

分享到:
评论

相关推荐

    java设计模式【之】抽象工厂模式【源码】【场景:制作咖啡】

    java设计模式【之】抽象工厂模式【源码】【场景:制作咖啡】 * 抽象工厂 * * 创建对象实例时,不要直接 new 类, 而是把这个new 类的动作放在一个工厂的方法中,并返回。 * 在工厂方法的基础上,进一步抽象工厂...

    java设计模式之抽象工厂模式

    java设计模式之抽象工厂模式实例,希望对大家有所帮助。

    JAVA设计模式之抽象工厂模式

    在"JAVA设计模式之抽象工厂模式"的示例中,可能会包含这些角色的实现以及如何在实际场景中应用抽象工厂模式的解释和示例代码。这个压缩包可能包含了详细的设计和实现,帮助学习者深入理解抽象工厂模式的工作原理及其...

    JAVA设计模式之抽象工厂

    **JAVA设计模式之抽象工厂** 在软件工程中,设计模式是一种通用的解决方案,用来解决在特定上下文中反复出现的问题。抽象工厂(Abstract Factory)模式是其中一种创建型设计模式,它提供一个创建对象的接口,但允许...

    java设计模式-抽象工厂模式

    总的来说,抽象工厂模式在Java中是一种非常实用的设计模式,它可以帮助我们封装产品的创建过程,降低系统间的耦合度,同时提供了更好的可扩展性,使得添加新的产品族或者产品变得更加容易。在处理具有多种变体的复杂...

    Java设计模式之抽象工厂模式

    总结来说,Java设计模式之抽象工厂模式是一种用来创建一系列相关对象的设计模式,它通过提供抽象工厂接口来隔离具体产品的创建,使系统具备更好的扩展性和封装性。在实际开发中,我们可以根据需求选择使用抽象工厂...

    Java设计模式-抽象工厂

    **Java设计模式——抽象工厂** 在软件工程中,设计模式是一种在特定场景下解决常见问题的模板或蓝图。抽象工厂模式是设计模式中的一种结构型模式,它提供了一个创建对象族的接口,但允许子类决定实例化哪一个类。这...

    Java23种设计模式06抽象工厂模式.pdf

    ### Java23种设计模式之抽象工厂模式 #### 模式动机 在探索设计模式的领域里,**抽象工厂模式**是一种重要的模式,它解决了一个关键问题:如何在一个系统中创建一系列相关或相互依赖的对象,而无需指定这些对象的...

    Java 工厂模式 抽象工厂 工厂方法模式

    本文将深入探讨Java中的工厂模式,包括基本的工厂模式、抽象工厂模式以及工厂方法模式。 **工厂模式**:工厂模式的核心思想是提供一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。这样,客户端无需...

    JAVA设计模式研究之抽象工厂模式

    ### JAVA设计模式研究之抽象工厂模式 #### 一、引言 设计模式是软件工程领域的一项重大成就,它源自建筑学领域,旨在解决软件开发中常见的复杂问题,提供优雅而实用的解决方案。在面向对象编程中,设计模式尤为...

    探索Java设计模式:工厂模式与抽象工厂模式的比较

    工厂模式和抽象工厂模式是两种常用的创建型设计模式,它们在Java中有着广泛的应用。本文将详细探讨这两种模式的区别,并提供代码示例来加深理解。 工厂模式和抽象工厂模式都是创建型设计模式,它们提供了代码解耦和...

    java常用设计模式-抽象工厂模式

    java常用设计模式-抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它通过定义一个创建对象的接口来创建对象,但将具体实现的决定留给子类来决定。在抽象工厂模式中,接口是负责创建...

    JAVA设计模式之抽象工厂模式案例

    抽象工厂模式是软件设计模式中的一种,属于创建型模式,它提供了一种创建对象组族的接口,而无需指定其具体类。这种模式的关键在于抽象工厂,它定义了一组产品对象的接口,并且允许子类根据不同的实现来生产一系列...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式** 简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要...

    JAVA设计模式研究之抽象工厂模式.pdf

    JAVA设计模式研究之抽象工厂模式

    设计模式-抽象工厂模式javademo

    抽象工厂模式是软件设计模式中的一种创建型模式,它提供了一种创建对象族(一组具有相互依赖关系的对象)的方法,而无需指定它们的具体类。在Java编程中,抽象工厂模式通常用于实现跨平台或者跨框架的接口,使得系统...

    基于Java实现的23种设计模式Demo,抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式等

    Java设计模式共有23种,分别为:抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式、桥接模式、组合模式、装饰模式、享元模式、代理模式、命令模式、解释器模式、访问者模式、迭代子...

    Java设计模式之抽象工厂模式.docx

    抽象工厂模式是设计模式中的一种,属于创建型模式,它为创建一组相关或相互依赖的对象提供了一个统一的接口,使得客户端无需关注这些对象的具体实现细节,仅需与抽象工厂交互即可。这种模式遵循开放封闭原则(OCP)...

Global site tag (gtag.js) - Google Analytics