java设计模式(九)—— 享元模式

本文深入探讨了享元模式在软件设计中的应用,这是一种结构型设计模式,旨在通过减少对象的实例数量来优化内存使用,从而提升应用程序的性能。特别适用于系统中存在大量相似对象的情况,通过将对象的状态外部化,有效降低内存消耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式

 1、如果一个系统中存在大量的相同或者相似的对象,由于这类对象的大量使用,会造成系统内存的耗费,可以使用享元模式来减少系统中对象的数量。

 2、对象的大部分状态都可以外部化,可以将这些外部状态传入对象中。

利用map之类

 

public class ShapeFactory { 
private static final HashMap<String, Shape> circleMap = new HashMap<>();
public static Shape getCircle(String color) 
{ 
 Circle circle = (Circle)circleMap.get(color); 
 if(circle == null) { circle = new Circle(color);
 circleMap.put(color, circle); S
 ystem.out.println("Creating circle of color : " + color); } 
 return circle; } 
}​​​​​​​

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值