简单工厂模式(工厂模式3)

简单工厂模式:也叫静态工厂模式。因为在创建者中

方法都设置为静态方法,方便调用。

对于增加新的产品无能为力(除非修改原有的代码,有背开闭原则)。

在添加一个工厂类,在createCar中创建实现类,这种简单工厂模式,

有违背开闭原则,如果添加一个宝马类,修改CarFactory.

//创建者:

//调用者:现在调用者只要知道Car接口和CarFactory(创建者)就可以了

关系类图:此处类图相对于没有工厂模式复杂,整体关系复杂了。

      但是对与调用者简单了,分工越细,更加容易扩展。

第二种简单工厂模式:

时间: 2024-10-09 22:25:32

简单工厂模式(工厂模式3)的相关文章

JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)

在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象. 在这些情况,新对象的建立就是一个 "过程",不仅是一个操作,像一部大机器中的一个齿轮传动. 模式的问题:你如何能轻松方便地构造对象实例,而不必关心构造对象实

工厂模式总结(简单工厂,工厂方法,抽象工厂)

工厂模式属于创建型模式,大致可以分为三类,简单工厂模式.工厂方法模式.抽象工厂模式. 通过两个例子讲解这三种工厂模式 示例一 简单工厂模式 首先介绍简单工厂模式,它的主要特点是需要在工厂类中做判断,从而创造相应的产品.当增加新的产品时,就需要修改工厂类.有点抽象,举个例子就明白了.有一家生产处理器核的厂家,它只有一个工厂,能够生产两种型号的处理器核.客户需要什么样的处理器核,一定要显示地告诉生产工厂.下面给出一种实现方案. 1 enum CTYPE {COREA, COREB}; 2 class

简单工厂模式--工厂方法模式(简介)

一.简单工厂模式(静态工厂) 简单工厂模式不属于23种标准设计模式 简单工厂模式是工厂方法模式的一个特殊的实现 简单工厂就是由一个工厂类根据传入的参数决定创建出哪一种产品类的实例  二.实现 产品接口或者抽象类 package factory; /* * 产品接口 */ public interface Product { //生产工艺 public void craftwork(); //产品类型 public void type(); } 实现的子类 package factory; /*

简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别

结合简单示例和UML图,讲解工厂模式简单原理. 一.引子 话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰).Bmw(宝马).Audi(奥迪)),还雇了司机为他开车.不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!",坐上Bmw后他说"开宝马车!",坐上 Audi后他说"开奥迪车!".你一定说:这人有病!直接说开车不就行了?!而当把这个爆发户的行为放到我们程序语言中来,我们发现C语言一直是通过这种方式来坐车的!幸运的是这种有

简单工厂与工厂方法模式

简单工厂模式 简单工厂模式又称静态工厂方法模式.重命名上就可以看出这个模式一定很简单.它存在的目的很简单:定义一个用于创建对象的接口. 先来看看它的组成: 1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑.在java中它往往由一个具体类实现. 2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口.在java中由接口或者抽象类来实现. 3) 具体产品角色:工厂类所创建的对象就是此角色的实例.在java中由一个具体类实现. 代码: //抽象产品角色 public interf

简单工厂,抽象工厂,工厂模式三者的对比

简单工厂,抽象工厂,工厂模式三者的对比 作者: TindleWei 博客: http://blog.csdn.net/mennoa(转载请说明出处) GitHub: https://github.com/TindleWei 我想大家都熟悉工厂模式,但是要分清简单工厂,抽象工厂,工厂模式可能就没那么容易了.所以我查看了许多资料以及设计模式关于工厂模式的介绍,下面来总结一下. 前言 简单工厂,抽象工厂,工厂模式都属于创建型模式. 该模式的特点是抽象了实例化的过程.它们帮助了一个系统独立于如何创建.组

简单工厂和工厂模式的合并对比代码

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

简单工厂模式\工厂方法模式

工厂模式 一.本节目标 我们本节课程主要介绍[工厂模式]的相关知识,将会涉及以下内容: 什么是工厂模式 工厂模式类图 工厂模式代码 工厂模式应用 PS:学习 Java 设计模式之前最好有一定的 Java 语言基础.由于讲这种东西其实比较枯燥,为了让大家学习起来轻松愉快一点,我会尽量使用一些生动.形象和幽默的例子. 二.什么是工厂模式 工厂模式(Factory Pattern)的意义就跟它的名字一样,在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象.工厂模式根据不同的参数来实现不同的分配

大话设计模式之简单工厂模式&工厂方法模式&抽象工厂模式

创造类模式分为三种:简单工厂模式,工厂模式和抽象工厂模式. 定义: 简单工厂模式:用一个单独的类来做创造实例的过程. 工厂模式:一个用于创建对象的接口,让子类决定实例化哪一个类,讲一个类的实例化 延迟到其子类. 抽象工厂模式:为创建一组相关或相互依赖的对象的类,而不指定具体类. 结构图: 这是简单工厂的结构图,从图中就很好理解. 简单工厂的优点: 根据用户需要,new出需要的对象. 但是简单工厂弊端: 当新加入一个功能是,就要修改工厂.这个时候,就需要工厂模式了. 从图中我们可以看出: 工厂模式

简单工厂,抽象工厂,工厂模式三者的对照

简单工厂,抽象工厂,工厂模式三者的对照 作者: TindleWei 博客: http://blog.csdn.net/mennoa(转载请说明出处) GitHub: https://github.com/TindleWei 我想大家都熟悉工厂模式,可是要分清简单工厂.抽象工厂.工厂模式可能就没那么easy了.所以我查看了很多资料以及设计模式关于工厂模式的介绍,以下来总结一下. 前言 简单工厂,抽象工厂.工厂模式都属于创建型模式. 该模式的特点是抽象了实例化的过程.它们帮助了一个系统独立于怎样创建