设计模式-简单工厂模式

转载请注明出处:https://www.cnblogs.com/wenjunwei/p/9802128.html 定义

简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。

简单工厂模式提供了专门的工厂类用于创建对象,将对象的创建和对象的使用分离开,它作为一种最简单的工厂模式在软件开发中得到了较为广泛的应用;

简单工厂模式是工厂方法模式的“小弟”,它不属于23种设计模式,但在软件开发中应用也较为频繁,通常将它作为学习其他工厂模式的入门;

简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。

简介 应用实例

您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现;

Hibernate 换数据库只需换方言和驱动就可以。

使用场景

工厂类负责创建的对象比较少,由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂;

客户端只知道传入工厂类的参数,对于如何创建对象并不关心。

实现:图标库设计

公司欲基于Java语言开发一套图表库,该图表库可以为应用系统提供各种不同外观的图表,例如柱状图、饼状图、折线图等。设计人员希望为应用系统开发人员提供一套灵活易用的图表库,而且可以较为方便地对图表库进行扩展,以便能够在将来增加一些新类型的图表。

方案一

class Chart {   private String type; //图表类型   public Chart(String type) {   this.type = type;   if (type.equalsIgnoreCase("histogram")) {   System.out.println("初始化柱状图!");   }   else if (type.equalsIgnoreCase("pie")) {   System.out.println("初始化饼状图!");   }   else if (type.equalsIgnoreCase("line")) {   System.out.println("初始化折线图!");   }   }   public void display() {   if (this.type.equalsIgnoreCase("histogram")) {   System.out.println("显示柱状图!");   }   else if (this.type.equalsIgnoreCase("pie")) {   System.out.println("显示饼状图!");   }   else if (this.type.equalsIgnoreCase("line")) {   System.out.println("显示折线图!");   }   } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydjgp.html