码迷,mamicode.com
首页 > 其他好文 > 详细

简单工厂模式

时间:2018-10-27 21:08:49      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:控制   color   返回   容器   内聚   根据   体系结构   rri   cto   

什么是工厂模式

 实现了创建者和调用者分离,工厂模式分为简单工厂、工厂方法、抽象工厂模式

 

工厂模式好处

工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。

利用工厂模式可以降低程序的耦合性,为后期的维护修改提供了很大的便利。

将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。

 

工厂模式分类

 

 

简单工厂模式

简单工厂模式相当于是一个工厂中有各种产品,创建在一个类中,客户无需知道具体产品的名称,只需要知道产品类所对应的参数即可。但是工厂的职责过重,而且当类型过多时不利于系统的扩展维护。

 

大家注意 工厂和容器的概念, 容器存放,工厂创建。

 请看目录结构:

技术分享图片

 

 Car接口定义:

package FactoryModel;

//汽车厂
public interface Car {
   void run();
}

实现类,各种车型:

package FactoryModel;

public class BydCar implements Car {

    @Override
    public void run() {
        System.out.println("比亚迪run");
        
    }
    
}
package FactoryModel;

public class JiLiCar implements Car {

     @Override
    public void run() {
        
       System.out.println("吉利run");    
    }
    
}

定义工厂:

package FactoryModel;

//汽车厂
public class CarFactory {
   
 public static Car createCar(String name){
     
       if (name.equals("比亚迪")) {
        return new BydCar();
    }
      if (name.equals("吉利")) {
        return new JiLiCar();
    }
      //其他类型的
        return null;
    }    
}

定义客户端:

package FactoryModel;

public class Client {

      public static void main(String[] args) {
         Car byd = CarFactory.createCar("比亚迪");
        byd.run();
    }
    
}

运行结果:

技术分享图片

简单工厂模式:里面的场景多 传递参数 返回具体产品 但是类型很多时候就影响扩展性了 很麻烦了

 

单工厂的优点/缺点

优点:简单工厂模式能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。明确区分了各自的职责和权力,有利于整个软件体系结构的优化。

缺点:很明显工厂类集中了所有实例的创建逻辑,容易违反GRASPR的高内聚的责任分配原则

简单工厂模式

标签:控制   color   返回   容器   内聚   根据   体系结构   rri   cto   

原文地址:https://www.cnblogs.com/toov5/p/9862946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!