`
ol_beta
  • 浏览: 290319 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

读书笔记:设计模式-简单工厂模式(SimpleFactory)

阅读更多

不想做过多的理论说明,举个例子吧。
有个鞋厂,生产耐克,李宁的鞋子,用代码实现,怎么做呢?

 

package org.gunct.pattern;

public class ShoesFactory {
	public void getNikeShoes() {
		System.out.println(" 工厂生产了耐克鞋! ");
	}
	public void getLiNingShoes() {
		System.out.println(" 工厂生产了李宁鞋! ");
	}
}

 

根据用户需求,生产不同的鞋子:

 

public class Consumer {
	public static void main(String[] args) {
		ShoesFactoryfactory = new ShoesFactory();
		if (" 用户要耐克鞋 ") {
			factory.getNikeShoes();
		}
		if (" 用户要林宁鞋子 ") {
			factory.getLiNingShoes();
		}
	}
}

 

分享到:
评论
1 楼 ol_beta 2012-07-02  
当年写的这个例子不是很好。
其实很多时候,工厂模式是代替构造器来创建对象的。
上面例子客户端可能还要一些逻辑,如果把参数传输静态方法中,可能更好些。
...
factory.getShoes("nike");  
factory.getShoes("lining"); 
...

当然,应该对shoes进行抽象。这个能持之更多的产品。
简单工厂是工厂模式的简化,如果产品更加复杂,可以考虑完整的工厂模式。

相关推荐

    设计模式Golang实现《研磨设计模式》读书笔记.zip

    设计模式Golang实现《研磨设计模式》读书笔记Go语言设计模式Go语言设计模式的实例代码创建模式工厂简单模式(Simple Factory)工厂方法模式(工厂方法)抽象工厂模式(Abstract Factory)创建者模式(Builder)原型...

    设计模式学习笔记

    #### 一、简单工厂模式 (Simple Factory) **类图与描述:** 简单工厂模式的核心在于存在一个工厂类,这个工厂类能够根据不同的输入参数返回不同的对象实例。简单工厂模式并不涉及继承关系,因此其实现相对简单。 ...

    JAVA模式的读书笔记

    1. 简单工厂模式(Simple Factory):提供一个静态方法来根据输入参数创建对象,简化了客户端的实例化过程。但静态工厂方法不易扩展,不符合开闭原则。 2. 工厂方法模式(Factory Method):定义一个创建对象的接口...

    Java中的design-patterns::open_book:使用通俗易懂的案例,类图,以及配套学习笔记来详解Java的二十种设计模式!

    :check_mark:简单工厂模式( Simple Factor Pattern ) :memo: , :check_mark:工厂方法模式( Factory Method Pattern ) :memo: , :check_mark:抽象工厂模式( Abstract Factroy Pattern ) :memo: , :check_...

    23种设计模式学习笔记及源码

    Java中的`AbstractFactory`、`SimpleFactory`和`Prototype`都是工厂模式的变体。 3. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 4. **建造者模式**:将一个复杂...

    设计模式笔记总结 含C#示例代码 复习好帮手

    简单工厂模式 (Simple Factory Pattern) 简单工厂模式是工厂模式的一种变体,尽管它并未被归类于GoF所提出的23种设计模式之中,但它依然是一种非常实用的设计模式。简单工厂模式的主要作用在于封装实例化的细节,...

    java版中国象棋源码-hello-design-pattern:设计模式学习笔记

    设计模式学习笔记,此项目参考《大话设计模式》,只能作为入门级设计模式学习 设计原则 职责单一原则 开放-封闭原则 依赖倒转原则 高层模块不依赖底层模块,两个模块都应该依赖抽象。抽象不依赖细节,细节依赖抽象。...

    23种设计模式分析学习笔记(Java版)

    创建型设计模式主要用于对象的创建,包括简单工厂模式、抽象工厂模式和工厂方法模式。简单工厂模式通过一个静态方法创建对象,使得客户端代码与具体类的创建分离,增强了系统的可扩展性。例如,我们可以通过传入参数...

    设计模式笔记

    - **Simple Factory(简单工厂模式)**:通过提供一个创建产品实例的方法,使得客户无需指定产品的具体类,从而降低了客户端与产品类间的耦合。 - **Abstract Factory(抽象工厂模式)**:为创建一系列相关或相互...

    java设计模式(收集整理,学习笔记)

    简单工厂模式是最简单的工厂模式,它包含一个工厂类,根据传入的参数决定返回哪种类型的实例。 ```java // 抽象产品角色 public interface Car { public void drive(); } // 具体产品角色 public class BwmCar ...

    工厂模式小实现

    - **简单工厂模式(Simple Factory)**:由一个静态方法创建对象,这个静态方法根据传入的参数来决定创建哪种类型的对象。 - **工厂方法模式(Factory Method)**:定义一个创建对象的接口,让子类决定实例化哪个类...

    java版五子棋源码-DesignPatternLearning:设计模式的Java实现

    1.简单工厂模式SimpleFactory 简单来说就是根据参数的不同返回不同类的实例, 被创建的实例通常都具有共同的父类. JDK中Calendar类的createCalendar方法创建实例时就使用了简单工厂模式. 1. 图表库ChartLibrary 某...

    spring学习笔记1

    - **依赖注入**:依赖注入是一种设计模式,用于实现IoC,即将对象的依赖项在其外部被创建并注入到该对象中。 - **注入方式**: - **构造器注入**:适用于依赖关系不可变的情况。 - **Setter方法注入**:适用于依赖...

    良葛格DesignPattern学习笔记

    - **Simple Factory**(简单工厂模式):提供了一个创建产品族的接口,但允许子类决定实例化哪一个类。简单工厂模式让类的实例化推迟到子类。 - **Factory Method**(工厂方法模式):定义了一个用于创建对象的接口...

    RabbitMQ自学笔记

    ### RabbitMQ自学笔记知识点梳理 #### 一、RabbitMQ简介与安装 ##### 1.1 RabbitMQ概述 - **定义**: RabbitMQ是一款开源的...无论是简单的消息传输还是复杂的分布式系统架构设计,RabbitMQ都能提供合适的解决方案。

    Java反射笔记

    简单工厂模式是一种创建型设计模式,通过反射可以在运行时根据输入信息动态创建所需对象。实现步骤如下: 1. 创建配置文件(如`config.properties`),存储产品类的全限定名。 2. 定义产品接口,如`InterfaceBase`,...

    MLDN_J2EE框架_笔记(已解密)

    10. **设计模式**:在J2EE开发中常见的设计模式,如MVC(Model-View-Controller)、Singleton、Factory等。 11. **性能优化和测试**:涉及J2EE应用的性能监控、调优策略,以及单元测试和集成测试的工具和方法。 12...

Global site tag (gtag.js) - Google Analytics