设计模式-工厂模式

1. 什么是工厂模式

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

在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑并且通过使用一个共同的接口来指向新创建的对象

2. 优缺点 

  优点: 

    1、一个调用者想创建一个对象,只要知道其名称就可以了

     2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以

     3、屏蔽产品的具体实现,调用者只关心产品的接口

  缺点:

    每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。这并不是什么好事。

3.具体应用

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

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

  3、在传统spring开发中,我们需要配置xml文件如下:

    <bean id="calendarC" class="com.jt.manage.factory.CalendarFactory"></bean>

    然后做如下调用    

    ApplicationContext context = new ClassPathXmlApplicationContext("spring/factory.xml");
    Calendar calendarA = (Calendar) context.getBean("calendarA");

    ApplicationContext是BeanFactory的子类,相当于工厂getBean()方法传一个名称,得到一个对象相当于产品我们不关心具体对象具体是如何产生的不知道具体对象的类名,我们只需一个名称,这就是工厂的作用,实现了对象创建延后,再配合上xml文件和反射,实现了解耦合即使我们更改类名,也不需要动代码,只需配置文件更改。

4.UML类图

  4.1简单工厂模式

  

 

  4.2工厂模式

  

 

posted @ 2019-10-17 17:18  helloworldmybokeyuan  阅读(106)  评论(0编辑  收藏  举报