`
zy19982004
  • 浏览: 663743 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:252400
社区版块
存档分类
最新评论

设计模式学习四:简单工厂模式

阅读更多

一.概念

     简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式。

 

二.实例分析

    现需要一个cpu,各大厂家都能生成,我们到底选哪家呢。

 

     CPU

package com.zzy.simpleFactory;
/**
 * CPU接口
 * @author eason
 *
 */
public interface CPU {
	public void work();
}

 

     SamSungCPU

package com.zzy.simpleFactory;
/**
 * 三星CPU
 * @author eason
 *
 */
public class SamSungCPU implements CPU{

	@Override
	public void work() {
		System.out.println("三星CPU is working...");
	}

}

 

     SeagateCPU

package com.zzy.simpleFactory;
/**
 * 希捷CPU
 * @author eason
 *
 */
public class SeagateCPU implements CPU{

	@Override
	public void work() {
		System.out.println("希捷CPU is working...");
	}

}

 

     WDCPU

package com.zzy.simpleFactory;
/**
 * 西数CPU
 * @author eason
 *
 */
public class WDCPU implements CPU{

	@Override
	public void work() {
		System.out.println("西数CPU is working...");
	}

}

 

     CPUFactory

package com.zzy.simpleFactory;
/**
 * 简单工厂
 * @author eason
 *
 */
public class CPUFactory {
	public static CPU createCPU(Company company) {
		CPU cpu = null;
		switch(company) {
			case WD :
				cpu = new WDCPU();
				break;
			case SamSung :
				cpu = new SamSungCPU();
				break;
			case Seagate :
				cpu = new SeagateCPU();
				break;
		}
		return cpu;
	}
}

enum Company {
	WD, SamSung, Seagate
}

 

     TestSimpleFactory

package com.zzy.simpleFactory;
/**
 * 测试类
 * @author eason
 *
 */
public class TestSimpleFactory {
	public static void main(String[] args) {
		CPU cpu = CPUFactory.createCPU(Company.WD);
		cpu.work();
	}
}

 

三.简单工厂模式的产品等级与产品族

 

  1. 产品等级:同一个级别上的东西。比喻主板和cpu在电脑机箱里面就是平等的,它们就是一个级别的。
  2. 产品族:是指位于不同产品等级结构中,功能相关联的产品组成的家族。比如三星的CPU和三星的主板,组成一个家族。希捷的CPU和希捷芯片的主板,又组成一个家族。而这两个家族都来自于两个产品等级:CPU,主板。
  3. 简单工厂模式:用来生产同一等级结构中的任意产品。根据客户端传给的参数,简单工厂决定返回哪个产品给你。

 

3
1
分享到:
评论

相关推荐

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式是一种常用的软件设计模式,它是创建型设计模式的一种,主要解决对象的创建问题,将对象的创建过程封装起来,使得创建过程独立于使用过程。这样可以提高代码的可复用性和灵活性,同时降低了系统的耦合度。...

    C++ 设计模式:简单工厂、工厂方法、抽象工厂练习代码

    本主题聚焦于C++中的三个工厂模式:简单工厂、工厂方法和抽象工厂。这些模式都围绕着对象的创建过程,旨在提高代码的灵活性、可读性和可维护性。 1. **简单工厂模式**: - 简单工厂模式是一种静态工厂方法,它提供...

    简单工厂模式-工厂方法模式-抽象工厂模式

    在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...

    设计模式UML图--工厂模式

    在给定的“设计模式UML图--工厂模式”中,我们关注的是三种不同的工厂模式:简单工厂、工厂方法和抽象工厂。这些模式都是创建型设计模式,它们的核心目标是为对象的创建提供一种抽象,使得客户端代码不必关心具体的...

    设计模式之工厂

    在这个主题下,我们将深入探讨三种主要的工厂模式:简单工厂、工厂方法和抽象工厂。 1. **简单工厂模式**: 简单工厂模式是最基础的形式,它定义了一个公共接口来创建对象,但让子类决定实例化哪一个类。这种模式...

    工厂设计模式代码

    1. **简单工厂模式**:这是最基础的工厂模式,它通常包含一个工厂类,负责根据输入条件或参数返回一个具体的产品实例。在这个模式中,工厂类通常包含一个静态方法,用于创建产品对象。简单工厂模式适用于产品种类较...

    设计模式之:工厂模式

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。这里主要讨论的是工厂方法模式,这也是最常见的一种实现方式。 在工厂方法模式中,定义了一个创建对象的接口,但让子类决定实例化哪一个类。...

    设计模式单例模式和工厂模式综合应用

    "设计模式单例模式和工厂模式综合应用"的主题聚焦于两种常用的设计模式:单例模式和工厂模式,并探讨它们如何协同工作来实现高效、灵活的代码结构。这个主题尤其适用于Java编程语言,因为Java的面向对象特性使得设计...

    设计模式资料之工厂设计模式

    工厂模式有三种主要形式:简单工厂模式、工厂方法模式和抽象工厂模式。其中,“抽象工厂模式”是压缩包文件中的一个子主题,它是工厂模式的一种高级形式,专注于创建相关或依赖对象的家族,而不必指定它们的具体类。...

    设计模式之一 3种工厂模式解析源码

    在软件设计领域,工厂模式是一种广泛应用的设计模式,它属于创建型模式,主要目的是为了封装对象的创建过程,使得客户端代码可以使用一个统一的接口来创建不同的对象,而无需关心具体的实现细节。工厂模式分为三种...

    设计模式之简单工厂模式案例

    简单工厂模式是软件设计模式中的一种创建型模式,它提供了一种创建对象的最佳方式。在简单工厂模式中,一个工厂类负责创建所有相关的对象,而客户端只需要知道具体的产品类型,无需了解如何创建这些对象的细节。这种...

    设计模式学习笔记(一)--简单工厂模式源码

    在这个学习笔记中,我们将深入理解简单工厂模式的概念、工作原理以及如何在实际编程中应用。 简单工厂模式的核心思想是通过一个公共的工厂类来创建不同类型的对象。这个工厂类负责识别客户端请求的对象类型,并返回...

    简单工厂模式、工厂模式、抽象工厂模式案例(C++实现)

    1. 简单工厂模式: 简单工厂模式是一种静态工厂方法,它提供一个公共的工厂类来创建对象。在C++中,这个工厂类通常包含一个静态方法,根据传入的参数或者条件决定创建哪个类的实例。这种模式的优点是客户端无需知道...

    设计模式-工厂模式 Java源码

    通过查看这些源码,我们可以学习如何在实际项目中应用工厂模式,理解其背后的意图和实现方式,从而提升我们的编程技能和设计能力。对于初学者和有经验的开发者来说,这些都是非常宝贵的参考资料。

    Java设计模式-简单工厂

    通过厉风行老师的视频学习简单工厂模式,能够帮助理解这种模式的基本思想和实现方式,使得开发者能够更好地运用到实际项目中,提高代码的可读性和可维护性。在学习过程中,结合实际案例实践,有助于加深理解并灵活...

    北风网-设计模式-简单工厂模式ppt

    简单工厂模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是在系统中如何创建对象的问题。设计模式是软件开发中的经验总结,旨在提高代码的可重用性、可读性和可维护性。 在简单工厂模式中,一个工厂...

    《设计模式:可复用面向对象软件的基础》学习并理解 23 种设计模式

    《设计模式:可复用面向对象软件的基础》一书介绍了23种经典的设计模式,这些模式大致可以分为三大类: 1. **创建型模式**:专注于对象的创建机制,确保系统在合适的时机创建正确的对象。 - **单例模式**...

    设计模式学习笔记总结

    这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...

    设计模式(简单工厂和工厂方法C++版)Demo程序

    本Demo程序主要涵盖了两种常用的创建型设计模式——简单工厂模式(Simple Factory)和工厂方法模式(Factory Method)。这两种模式都是用来创建对象,但它们在灵活性和抽象程度上有所不同。 简单工厂模式是一种静态...

    设计模式之简单工厂模式

    **简单工厂模式**是软件设计模式中的一种基础模式,它属于创建型模式,主要用于简化对象的创建过程。在简单工厂模式中,一个专门的工厂类负责创建对象,客户端通过调用工厂类的方法来获取所需的对象,而无需关心具体...

Global site tag (gtag.js) - Google Analytics