美文网首页技术文
设计模式 - 简单工厂模式Simple Factory

设计模式 - 简单工厂模式Simple Factory

作者: 热血沸腾 | 来源:发表于2016-09-21 13:49 被阅读54次

核心 :  简单工厂处理选择“具体哪一个实现类”的工作

本质是: 选择实现

原因: OOP里重要的思想是“面向接口编程” 接口的作用是“封装隔离”,接口定义功能,是一种协议。我们使用时一般写法是  Interface face = new Impl(); 注意,Impl是实现类,那如果有多个Impl,客户端如何知道用哪一个,那就需要客户端必须对每个实现类有一定的认识,所以这种方式并没有完全“隔离”。 简单工厂的目的就是,提供静态方法,直接生产一个Interface的实例对象,不用关心使用什么对象,如何实现对象等等,做到完全隔离。  

说明:简单工厂也可以理解为一个工具类,因为它提供静态方法获取对象,所以理论上讲它里面可以提供各种各样的对象,但是为了逻辑清晰,维护方便,我们一般按模块或者系统来使用,命名规则一般是   模块+Factory,比如用户模块  UserFactory    工厂内的方法命名一般是  get或create+接口名 , 不要使用new 因为不一定我们的对象每次都是new的 ,比如我们跟单例模式使用,就仅有一个对象。多个模块就定义多个工厂。

生成对象的方法一般为

public static Interface createUser(int type){

Interface inter = null;

if(type==1){

inter = User1();

}else if(type==2){

inter = User()2;

}

选择条件的来源有3种

1. 外部 (缺点是要对外讲明不同type作用,似乎是没有完全隔离)

2. 配置文件 (灵活了很多,有个问题在配置文件里新增实现类,工厂里的逻辑代码需要改动,使用反射可以解决该问题)

3.运行时根据内存中某个值来决定

还有一点需要提示: 简单工厂因为提供静态方法所以也叫静态工厂,万能工厂模式。一般不需要实例化factory,所以为了防止客户端实例化,可以使得工厂的构造函数私有化。

简单模式一般和单利模式结合使用场景比较多,完结。

相关文章

  • 设计模式

    设计模式(视频总结) [TOC] 一、简单工厂模式(Simple Factory) 简单工厂模式: 简单工厂模式属...

  • 工厂模式

    简单工厂模式(Simple Factory) 定义 简单工厂模式(Simple Factory Pattern):...

  • 工厂模式

    简单工厂模式(Simple Factory Pattern) 简单工厂模式(simple factory patt...

  • 1.1 creational 创建型 - simple Fact

    Simple Factory 简单工厂 [TOC] 创建型设计模式,又名 Static Factory 静态工厂...

  • Java设计模式——Factory工厂模式

    Factory工厂模式分为:1)简单工厂模式(Simple Factory) --- 普通工厂模式2)工厂方法模式...

  • 工厂模式——简单工厂模式

    工厂模式分为 简单工厂模式(Simple Factory Pattern)、工厂方法模式(Factory Meth...

  • 重温设计模式

    设计模式 创建型设计模式:1.简单工厂模式(Simple Factory Pattern):专门定义一个类(工厂类...

  • 简单工厂模式

    简单工厂模式(Simple Factory),又叫静态工厂方法模式(Static Factory Method),...

  • 工厂模式01之简单工厂

    概念 简单工厂(Simple Factory)模式,又称静态工厂方法模式(Static Factory Metho...

  • 常用设计模式

    六个创建型模式 简单工厂模式-Simple Factory Pattern工厂方法模式-Factory Metho...

网友评论

    本文标题:设计模式 - 简单工厂模式Simple Factory

    本文链接:https://www.haomeiwen.com/subject/qlraettx.html