`
fancy205
  • 浏览: 14290 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

简单工厂模式—java学习笔记

    博客分类:
  • java
阅读更多

俗话说的好,好记性不如烂笔头。所以也就想在学习java的过程中写写笔记,以后忘记了也就可以翻开来看看。

简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。为了让客户得到一个类的实例,通常的做法是提供一个公有的构造方法,诚然这不是一个很好的处理方法。在JDK 1.4 以后,类可以为客户提供静态工厂方法来代替构造方法,大部分同时也提供了构造方法,当然这个做法有利有弊。

优点

1、静态工厂不必在每次调用的时候都要创建一个对象。可以使用一个预先已经创建好的实例,或者把已经创建好的实例缓存起来,到调用的时候再分发到客户处,从而避免重复地创建对象。如果一个程序频繁地创建相同的对象,静态工厂方法可以提供性能。

package com.fancy.simple;

public class SimpleFactory{

    /**
    * 静态工厂方法
    *
    */
     public static SimpleFactory(){
           return new SimpleFactory();
     }
}

 

2、静态工厂方法的核心是工厂类。该类包含有必要的逻辑,可以决定在什么时候创建,创建哪一个。客户类则不必知道对象如何创建,而仅仅负责使用。这就实现了对创建对象责任的分隔。

缺点

1、如果类不含公有的或受保护的构造函数,就不能被子类化。

由于使用静态方法作为工厂方法,而静态方法无法有子类继承,因此无法形成基于继承的登记结构。

总的来说,静态工厂方法和公有的构造方法都有各自的用途。

0
0
分享到:
评论

相关推荐

    java学习笔记markdown

    【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...

    良葛格JAVA 学习笔记

    《良葛格JAVA 学习笔记》是由知名IT专家林信良,网名“良葛格”,在台湾大学电机工程学系的深厚学术背景基础上,结合其作为SUN教育训练中心讲师的丰富教学经验编写的。他的著作还包括《Spring 技术手册》,并且他...

    Java学习笔记(源码)

    【Java学习笔记(源码)】是一份详细记录了Java编程语言学习过程的资源集合,包含实际的源代码示例。这份笔记旨在帮助初学者和有一定经验的开发者深入理解和掌握Java语言的核心概念、语法以及常见应用。以下是笔记中...

    《java学习》-java学习笔记.zip

    这份《java学习》笔记包含了多个核心主题,旨在帮助初学者和有经验的开发者深入理解和掌握Java技术。 1. **正则表达式(正则.md)**: 正则表达式在Java中用于文本匹配和搜索,是处理字符串的强大工具。Java提供了...

    Java学习笔记(整理)

    这份“Java学习笔记”是为初学者准备的,旨在帮助他们快速掌握Java的基础知识。笔记中可能涵盖了以下重要知识点: 1. **Java简介**:Java是由Sun Microsystems(现已被Oracle收购)开发的,它的设计目标是“一次...

    Java入门学习笔记

    总之,这份"Java入门学习笔记"是一个全面的Java学习资源,覆盖了从基础知识到高级特性的广泛内容,对于想要踏入Java编程世界的新手来说,是一份不可多得的参考资料。通过阅读并实践这些笔记,初学者不仅可以掌握Java...

    JAVA学习笔记和例子程序值得看看

    这份"JAVA学习笔记和例子程序值得看看"的压缩包显然包含了作者在深入学习Java过程中的重要发现和理解,以及帮助深化概念理解的示例程序。让我们来详细探讨一下可能包含的知识点。 1. **基础语法**:Java的基础包括...

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

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

    JAVA学习笔记

    JAVA学习笔记是一个全面涵盖JAVA编程基础到进阶的资源集合,特别适合初学者掌握JAVA语言和项目开发技术。笔记内容包括了几个核心领域,如编程思想、多线程设计模式、网络编程,以及JAVA的新输入/输出(NIO)系统。 ...

    java学习笔记及源代码

    这份"java学习笔记及源代码"的资源,显然旨在帮助初学者或有经验的开发者深入理解和实践Java编程。以下是对这个主题的详细阐述: 一、Java语言基础 1. 类与对象:Java的核心是面向对象编程,类是对象的模板,对象是...

    Java设计模式学习笔记.pdf

    简单工厂模式是创建型模式的一种,它提供一个专门的工厂类用于创建对象,将对象的创建和使用分离。在简单工厂模式中,客户端通过工厂类的静态工厂方法来创建所需的具体对象。例如,图表工厂类可以根据参数创建不同...

    Java基础尚硅谷宋红康学习笔记

    8. **设计模式**:设计模式是解决软件设计中常见问题的通用解决方案,如工厂模式、单例模式、观察者模式、装饰者模式等。 9. **Spring框架**:Spring是Java企业级应用的主流框架,提供依赖注入、AOP、数据访问、Web...

    图解java设计模式_学习笔记_java开发

    这份"图解java设计模式_学习笔记"是针对Java开发者深入理解和应用设计模式的重要资源。在这里,我们将深入探讨Java设计模式的核心概念、分类以及它们在实际开发中的应用。 设计模式分为三大类:创建型、结构型和...

    java学习笔记 java学习笔记

    Java学习笔记涵盖了许多核心概念,包括面向对象编程的各个方面。以下是对这些知识点的详细解析: 1. **继承中方法的重写**: 当子类重写父类的方法时,子类方法的访问权限必须至少等于或大于父类中对应方法的访问...

    java学习笔记及设计模式

    Java学习笔记及设计模式是程序员进阶过程中必不可少的资源,涵盖了广泛的Java基础知识和高级概念,同时结合了设计模式这一软件工程的重要组成部分。本资源集合旨在帮助开发者深化对Java语言的理解,提升编程技能,并...

    java学习笔记

    ### Java学习笔记知识点详解 #### 一、Java面向对象编程思想 面向对象编程(Object-Oriented Programming, OOP)是Java的核心特性之一。通过封装、继承和多态这三个基本特征来实现。OOP能够提高代码的复用性和可...

    JAVA设计模式的工厂模式文档和代码

    简单工厂模式通常用于相对简单的对象创建,工厂方法模式则允许子类决定创建哪种产品,而抽象工厂模式关注于一组相关或相互依赖的对象的创建,提供一个创建对象族的接口。 "工厂模式.txt"文本文件可能进一步阐述了...

    Java设计模式学习笔记(1) — 简单工厂

    定义: 结构说明: 相关概念: 接口: 接口与抽象类的区别: 面向接口编程: 功能: 时序图: 优缺点: 代码阐释:

    Java最全学习资料+面试题+DOS命令+设计模式+Excel技巧+java学习笔记

    这份压缩包中的资源全面覆盖了Java的学习和应用,包括学习资料、面试题、DOS命令、设计模式以及Excel技巧和Java学习笔记。让我们逐一探讨这些知识点。 1. **Java学习资料**:Java学习资料通常包括基础语法、面向...

    Java学习笔记(必看经典)

    在“Java学习笔记(必看经典)”中,我们可以期待涵盖以下几个关键知识点: 1. **基础语法**:包括变量声明、数据类型(如基本类型和引用类型)、运算符、流程控制语句(如if条件语句、for循环、while循环和switch...

Global site tag (gtag.js) - Google Analytics