设计模式实践:Java单例模式、工厂方法模式详解。 原创 妖狐艹你老母 2024-10-10 06:21 50阅读 0赞 一、Java单例模式详解 单例模式是Python和Java等面向对象语言中常用的设计模式之一。 1. 实现方式: - 饿汉式:在类加载时就创建了唯一实例,如: ```java private static Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; } //Singleton类 private Singleton() {} ``` - 懒汉式:在需要使用实例时才去创建,如: ```java private volatile Singleton instance; public Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return instance; } //Singleton类 private Singleton() {} ``` 2. 优点: - 唯一实例:保证了只有一个实例存在,提高了代码的稳定性和可维护性。 - 高性能:由于是线程安全的,所以多线程环境下也能正常工作。 3. 缺点: - 创建时机:如果在程序运行初期就创建了实例,那么后续就不需要再创建了,这可能增加代码的复杂性。 二、Java工厂方法模式详解 工厂方法模式(Factory Method Pattern)是一种设计模式,主要特点是将对象的创建行为推迟到子类中。 1. 实现方式: - 定义抽象工厂(Abstract Factory): ```java abstract class AbstractFactory { public Product createProduct(String type) { // 在这里根据type动态创建产品 if ("type1".equals(type)) { return new Type1Product(); } else if ("type2".equals(type)) { return new Type2Product(); } throw new IllegalArgumentException("Invalid product type."); } } ``` - 定义具体工厂(Concrete Factory): ```java class ConcreteFactory1 extends AbstractFactory { @Override public Product createProduct(String type) { return new Type1Product(); } } class ConcreteFactory2 extends AbstractFactory { @Override public Product createProduct(String type) { return new Type2Product(); } } ``` 2. 优点: - 抽象化:将产品的创建行为推迟到子类中,提高了代码的可扩展性和灵活性。 - 多个工厂可以选择:在不同的场景下,可以根据需要选择不同具体工厂来创建产品。 3. 缺点: - 如果产品类型过多,会增加抽象工厂和具体工厂的数量,从而增大了系统的复杂性。 总结,单例模式是保证类只有一个实例,工厂方法模式则是将对象的创建行为推迟到子类中。两者都是Java设计模式中的经典应用。 文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。
相关 设计模式运用困惑:工厂方法、单例等模式实践案例 在设计模式的运用中,确实可能会存在一些困惑。这里以你提到的两种模式——工厂方法和单例——为例,给出一些具体实践案例: 1. 工厂方法(Abstract Factory Pat 墨蓝/ 2024年10月12日 07:48/ 0 赞/ 47 阅读
相关 设计模式实践:Java单例模式、工厂方法模式详解。 一、Java单例模式详解 单例模式是Python和Java等面向对象语言中常用的设计模式之一。 1. 实现方式: - 饿汉式:在类加载时就创建了唯一实例,如: 妖狐艹你老母/ 2024年10月10日 06:21/ 0 赞/ 51 阅读
相关 Java设计模式实践:工厂模式和单例模式理解 工厂模式(Factory Pattern)和单例模式(Singleton Pattern)是Java中两种常见的设计模式。 1. 工厂模式(Factory Pattern) 川长思鸟来/ 2024年10月05日 20:45/ 0 赞/ 57 阅读
相关 常见Java设计模式:工厂模式、单例模式详解 在Java编程中,设计模式是一种解决特定问题的最佳实践。这里我们将重点介绍两种常见的设计模式:工厂模式和单例模式。 1. 工厂模式(Factory Pattern) 工厂模 妖狐艹你老母/ 2024年09月26日 22:21/ 0 赞/ 61 阅读
相关 Java设计模式实战:工厂方法、单例模式案例 在Java编程中,设计模式是面向对象最佳实践的体现。这里我将为你详细介绍两种常见的设计模式——工厂方法(Factory Method)和单例模式,并通过案例来帮助理解。 1. ╰+攻爆jí腚メ/ 2024年09月17日 18:06/ 0 赞/ 60 阅读
相关 设计模式在Java中的实践:工厂模式、单例模式等 在Java中,设计模式是解决常见软件设计问题的最佳实践。以下是两种常见的设计模式——工厂模式和单例模式的Java实现: 1. 工厂模式(Abstract Factory Pa ╰+哭是因爲堅強的太久メ/ 2024年09月11日 17:57/ 0 赞/ 76 阅读
相关 Java设计模式:单例模式、工厂模式的实践与理解 单例模式和工厂模式是Java中两种常见的设计模式,它们分别在对象创建和控制实例方面起到了关键作用。下面我将分别解释这两种模式的实践与理解。 1. 单例模式 - 实现原理:通 青旅半醒/ 2024年09月04日 12:18/ 0 赞/ 76 阅读
相关 设计模式:02-单例模式 / 简单工厂模式 / 工厂方法模式 / 抽象工厂模式 文章目录 1. 单例模式 2. 工厂模式-简单工厂模式(静态工厂模式) 2.1 工厂模式在 JDK-Calendar 应用的源码分析 梦里梦外;/ 2023年06月13日 11:09/ 0 赞/ 6 阅读
相关 【设计模式①】单例、原型、工厂方法、抽象工厂模式 环境 > Java:1.8.0\_202-b08 > dependency: > > lombok 1.18.6 > Guava 27.0. 清疚/ 2021年10月01日 10:14/ 0 赞/ 254 阅读
还没有评论,来说两句吧...