简单工厂模式又叫静态工厂模式,是一种创建对象实例的设计模式。通过对象创建工厂根据不同的创建请求创建不同的类对象。将不同对象的创建工作集中到一个创建工厂来完成。
简单工厂模式类图:
具体实现代码示例:
对象接口:
public interface Fruit {
String getFruitName();
}
具体对象Apple :
public class Apple implements Fruit{
@Override
public String getFruitName(){
// TODO Auto-generated method stub
return "This is apple";
}
}
具体对象Pear :
public class Pear implements Fruit {
@Override
public String getFruitName() {
// TODO Auto-generated method stub
return "This is pear";
}
}
对象工厂+测试类:
public class SimpleFactory {
public static Fruit getInstance(int choice){
switch(choice){
case 1:
return new Apple();
case 2:
return new Pear();
default:
return null;
}
}
public static void main(String[]args){
System.out.println(SimpleFactory.getInstance(1).getFruitName());
System.out.println(SimpleFactory.getInstance(2).getFruitName());
}
}
说明:这里以简单的创建Apple和Pear对象的工厂为例来示范简单工厂的创建对象过程,当然 choice可以用其他方式触发来代替了。
简单工厂方法模式的优点在于把对象创建的行为都集中到了工厂来进行,方便了对对象创建的管理。
缺点在于:代码的耦合性还是太高,不太满足开闭原则。由于所有的对象都要在这个具体工厂来创建,这样每一次新增新类型对象的话,都要对对象工厂代码做出修改,在swich语句中添加一个分支。

- 大小: 17.1 KB
分享到:
相关推荐
在这个"菜鸟教程设计模式之工厂模式代码整理"中,我们将深入探讨工厂模式的基本概念、结构以及如何在实际编程中应用。 工厂模式的核心思想是通过一个专门的工厂类来创建对象,而不是让客户端代码直接实例化具体的...
Java设计模式菜鸟系列教程 本教程对Java 23种设计模式进行了总结,涵盖了策略模式、观察者模式、装饰者模式、工厂方法模式、抽象工厂模式、单例模式、命令模式、适配器模式、外观模式、模板方法模式、迭代器模式、...
在这个“菜鸟教程设计模式之工厂模式代码整理(反射机制改进版)”中,我们主要探讨的是如何利用Java的反射机制来进一步增强工厂模式的功能。 首先,理解工厂模式的基本概念。工厂模式属于创建型设计模式,它提供了...
本资源“设计模式学习经典篇之菜鸟篇”旨在为初学者提供一个全面而通俗易懂的设计模式学习路径。 设计模式的核心在于重用已验证的解决方案,以提高代码的可读性、可维护性和可扩展性。根据GOF(Gamma, Helm, ...
2. **结构型模式**:包括适配器模式、桥接模式、装饰器模式、外观模式、组合模式、享元模式和代理模式。这些模式关注于如何组织类和对象,以实现不同组件之间的有效组合。 - 适配器模式使两个不兼容的接口能够协同...
抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 抽象工厂模式(AbstractFactoryPattern): 抽象工厂模式是创建型模式,它提供了一个接口用于创建一组相关或相互依赖的对象,...
设计模式(菜鸟到高手)
创建型设计模式如单例模式、工厂方法模式、抽象工厂模式等,它们关注的是对象的创建过程,使得代码更加灵活,易于维护和扩展。结构型设计模式如适配器模式、桥接模式、装饰器模式、组合模式、外观模式、享元模式和...
设计模式(Design pattern)是一套被反复使用、...本章系Java之美[从菜鸟到高手演变]系列之设计模式,我们会以理论与实践相结合的方式来进行本章的学习,希望广大程序爱好者,学好设计模式,做一个优秀的软件工程师!
设计模式分为清晰类型,共23种创建型模式单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构类型模式队列模式、桥接模式、装饰模式、组合模式、外观模式、共享元模式、代理模式。行为类型模式模版方法...
24种设计模式介绍与6大设计原则希望这本书的阅读者具备最基本的代码编写能力,您是一个初级的 coder,可以从中领会到怎么设计 一段优秀的代码;您是一个高级程序员,可以从中全面了解到设计模式以及 Java 的边角技术...
在本Java项目中,"operation 简易四则运算器"是一个基于简单工厂设计模式实现的计算工具,旨在帮助用户进行基本的加减乘除运算。该项目充分体现了面向对象编程的思想,通过封装、继承和多态性来提高代码的可读性和可...
工厂模式分为简单工厂、工厂方法和抽象工厂三种类型。例如,使用工厂方法模式创建不同类型的形状: ```java interface Shape { void draw(); } class Circle implements Shape { @Override public void draw() {...
单例模式是软件设计模式中的一种基础模式,用于确保一个类只有一个实例,并提供一个全局访问点。在Java中,单例模式的实现有很多种方式,包括懒汉式、饿汉式、双重检查锁定(DCL)等。下面我们将深入探讨这些实现...
深入浅出设计模式(Head First Design Patterns)完整版,由本人精心整理网上的JPG版制作成PDF版供各位编程爱好者下载学习,这部模式教程诙谐幽默,寓教于乐,实乃菜鸟成才必备之选。共分为11个压缩包,绝对的物有所值...
java常用的设计模式一个简单总结,如工厂模式、单例模式、代理模式等等。(楼主也是未入门的菜鸟,如有错误请及时联系楼主更正,谢谢!)
2. 抽象工厂模式(Abstract Factory Pattern):为创建一组相关或相互依赖的对象提供一个统一的接口,而无需指定它们的具体类。 3. 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供一个全局访问点...
而“C嵌入式编程设计模式”这一主题,旨在探讨如何利用C语言进行高效且可靠的嵌入式系统编程,通过采用经典的设计模式来提升代码的可读性、可维护性和可扩展性。以下将详细阐述相关知识点。 1. **状态机**:状态机...
设计模式是软件开发中的一种重要概念,它是一套经过验证的、通用的解决方案,用来解决在软件设计过程中频繁出现的问题。设计模式的种类主要分为三类:创建型模式、结构型模式和行为型模式。 创建型模式关注的是对象...