简单总结设计模式

本文介绍了设计模式中的单例模式、简单工厂模式和工厂方法模式。单例模式确保类只有一个实例,常用于序列号生成器或计数器。简单工厂模式依据参数创建不同实例,实现对象创建与使用的分离。工厂方法则延迟实例化到子类,遵循开闭原则。这些模式在软件开发中起着关键作用,提高代码复用和灵活性。
摘要由CSDN通过智能技术生成

1. 单例模式

确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

要求:

  1. 构造方法私有,
  2. 只有一个实例,且实例是当前类的静态类成员变量
  3. 我们在提供一个静态方法向外界提供当前类的实例

应用场景

  1. 序列号生成器、web页面的计数器等待都可以使用单例模式。
  2. 同时如果创建某个对象需要消耗较多资源的话,比如访问 IO或者数据库资源的时候,也可以使用单例模式来减少资源的消耗。

分类

  1. 饿汉式:即在类加载的时候就进行实例化
  2. 懒汉式(双重检查锁):在刚开始,即在类加载的时候不进行实例化,在第一次使用的时候再进行实例化。(使用双重检查锁进行初始化的实例必须使用 volatile 关键字修饰)

2. 简单工厂模式

属于类的创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义了一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

在这里插入图片描述

-优点: 实现对象的创建和使用分离

  • 缺点:不够灵活

3. 工厂模式

符合开闭原则:扩展由于修改,添加一个产品就要添加一个对应的工厂。
在这里插入图片描述

定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。
在这里插入图片描述

4. 抽象工厂模式

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值