一.概念
简单工厂模式是属于创建型模式,又叫做静态工厂方法(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();
}
}
三.简单工厂模式的产品等级与产品族
- 产品等级:同一个级别上的东西。比喻主板和cpu在电脑机箱里面就是平等的,它们就是一个级别的。
- 产品族:是指位于不同产品等级结构中,功能相关联的产品组成的家族。比如三星的CPU和三星的主板,组成一个家族。希捷的CPU和希捷芯片的主板,又组成一个家族。而这两个家族都来自于两个产品等级:CPU,主板。
- 简单工厂模式:用来生产同一等级结构中的任意产品。根据客户端传给的参数,简单工厂决定返回哪个产品给你。
分享到:
相关推荐
工厂模式是一种常用的软件设计模式,它是创建型设计模式的一种,主要解决对象的创建问题,将对象的创建过程封装起来,使得创建过程独立于使用过程。这样可以提高代码的可复用性和灵活性,同时降低了系统的耦合度。...
本主题聚焦于C++中的三个工厂模式:简单工厂、工厂方法和抽象工厂。这些模式都围绕着对象的创建过程,旨在提高代码的灵活性、可读性和可维护性。 1. **简单工厂模式**: - 简单工厂模式是一种静态工厂方法,它提供...
在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...
在给定的“设计模式UML图--工厂模式”中,我们关注的是三种不同的工厂模式:简单工厂、工厂方法和抽象工厂。这些模式都是创建型设计模式,它们的核心目标是为对象的创建提供一种抽象,使得客户端代码不必关心具体的...
在这个主题下,我们将深入探讨三种主要的工厂模式:简单工厂、工厂方法和抽象工厂。 1. **简单工厂模式**: 简单工厂模式是最基础的形式,它定义了一个公共接口来创建对象,但让子类决定实例化哪一个类。这种模式...
1. **简单工厂模式**:这是最基础的工厂模式,它通常包含一个工厂类,负责根据输入条件或参数返回一个具体的产品实例。在这个模式中,工厂类通常包含一个静态方法,用于创建产品对象。简单工厂模式适用于产品种类较...
工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。这里主要讨论的是工厂方法模式,这也是最常见的一种实现方式。 在工厂方法模式中,定义了一个创建对象的接口,但让子类决定实例化哪一个类。...
"设计模式单例模式和工厂模式综合应用"的主题聚焦于两种常用的设计模式:单例模式和工厂模式,并探讨它们如何协同工作来实现高效、灵活的代码结构。这个主题尤其适用于Java编程语言,因为Java的面向对象特性使得设计...
工厂模式有三种主要形式:简单工厂模式、工厂方法模式和抽象工厂模式。其中,“抽象工厂模式”是压缩包文件中的一个子主题,它是工厂模式的一种高级形式,专注于创建相关或依赖对象的家族,而不必指定它们的具体类。...
在软件设计领域,工厂模式是一种广泛应用的设计模式,它属于创建型模式,主要目的是为了封装对象的创建过程,使得客户端代码可以使用一个统一的接口来创建不同的对象,而无需关心具体的实现细节。工厂模式分为三种...
简单工厂模式是软件设计模式中的一种创建型模式,它提供了一种创建对象的最佳方式。在简单工厂模式中,一个工厂类负责创建所有相关的对象,而客户端只需要知道具体的产品类型,无需了解如何创建这些对象的细节。这种...
在这个学习笔记中,我们将深入理解简单工厂模式的概念、工作原理以及如何在实际编程中应用。 简单工厂模式的核心思想是通过一个公共的工厂类来创建不同类型的对象。这个工厂类负责识别客户端请求的对象类型,并返回...
1. 简单工厂模式: 简单工厂模式是一种静态工厂方法,它提供一个公共的工厂类来创建对象。在C++中,这个工厂类通常包含一个静态方法,根据传入的参数或者条件决定创建哪个类的实例。这种模式的优点是客户端无需知道...
通过查看这些源码,我们可以学习如何在实际项目中应用工厂模式,理解其背后的意图和实现方式,从而提升我们的编程技能和设计能力。对于初学者和有经验的开发者来说,这些都是非常宝贵的参考资料。
通过厉风行老师的视频学习简单工厂模式,能够帮助理解这种模式的基本思想和实现方式,使得开发者能够更好地运用到实际项目中,提高代码的可读性和可维护性。在学习过程中,结合实际案例实践,有助于加深理解并灵活...
简单工厂模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是在系统中如何创建对象的问题。设计模式是软件开发中的经验总结,旨在提高代码的可重用性、可读性和可维护性。 在简单工厂模式中,一个工厂...
《设计模式:可复用面向对象软件的基础》一书介绍了23种经典的设计模式,这些模式大致可以分为三大类: 1. **创建型模式**:专注于对象的创建机制,确保系统在合适的时机创建正确的对象。 - **单例模式**...
这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...
本Demo程序主要涵盖了两种常用的创建型设计模式——简单工厂模式(Simple Factory)和工厂方法模式(Factory Method)。这两种模式都是用来创建对象,但它们在灵活性和抽象程度上有所不同。 简单工厂模式是一种静态...
**简单工厂模式**是软件设计模式中的一种基础模式,它属于创建型模式,主要用于简化对象的创建过程。在简单工厂模式中,一个专门的工厂类负责创建对象,客户端通过调用工厂类的方法来获取所需的对象,而无需关心具体...