`

设计模式之享元模式

 
阅读更多

我们知道,奥迪A6汽车有很多种不同的地方,比如讲可能颜色,动力等的不一样,但是往往同为奥迪A6的汽车,他们的高度、宽度、长度都是一样的。现在如果我们系统中会涉及到这些汽车,如果我们没一个对象(奥迪A6)的成员变量里面都有高度、宽度、长度,那么在内存中就存在了大量的重复的数据,必然浪费了内存空间,现在如果我们可以把这些相同的数据放到一个对象里面,比如叫做CarData,而在每辆汽车里面有个CarData,这样就可以避免掉了浪费内存空间,并且还可以很容易的更改里面的数据,这就是享元模式,其中的CarData的实例就是一个享元。
享元模式例子:

Java代码复制代码
  1. /**  
  2.  * 享元  
  3.  * @author--http://www.lookhan.com
  4.  *  
  5.  */  
  6. public class CarData {   
  7.     private int height;   
  8.     private int width;   
  9.     private int length;   
  10.     public int getHeight() {   
  11.         return height;   
  12.     }   
  13.     public void setHeight(int height) {   
  14.         this.height = height;   
  15.     }   
  16.     public int getWidth() {   
  17.         return width;   
  18.     }   
  19.     public void setWidth(int width) {   
  20.         this.width = width;   
  21.     }   
  22.     public int getLength() {   
  23.         return length;   
  24.     }   
  25.     public void setLength(int length) {   
  26.         this.length = length;   
  27.     }   
  28. }   
  29. public class AoDiOne {   
  30.     CarData carData;   
  31.     String color;   
  32.     double power;   
  33. }   
  34. public class AoDiTwo {   
  35.     CarData carData;   
  36.     String color;   
  37.     double power;   
  38. }   
分享到:
评论

相关推荐

    javascript 设计模式之享元模式原理与应用详解

    本文实例讲述了javascript 设计模式之享元模式。分享给大家供大家参考,具体如下: 享元模式说明 定义:用于解决一个系统大量细粒度对象的共享问题: 关健词:分离跟共享; 说明: 享元模式分单纯(共享)享元模式,...

    Java设计模式之享元模式

    享元模式是软件设计模式中的一种结构型模式,它的核心思想是通过共享已经存在的对象来减少内存中的对象数量,从而提高系统性能。在Java中,享元模式常用于处理大量相似对象的场景,例如在图形界面中绘制大量相似的...

    c++-设计模式之享元模式(Flyweight)

    享元模式(Flyweight Pattern)是一种结构型设计模式,用于减少创建大量小对象所带来的内存开销。通过共享对象,享元模式能够有效地支持大量细粒度的对象,减少内存使用并提高性能。它常用于需要大量重复对象的场景...

    23钟设计模式之享元模式

    享元模式是软件设计模式中的一种结构型模式,它的主要目的是减少对象的创建,从而提高系统性能,尤其是在处理大量相似对象时。享元模式通过共享技术来支持大量细粒度对象的复用,将享元对象的状态分为内蕴状态(不可...

    设计模式之享元模式1

    享元模式是一种设计模式,它的主要目的是减少内存中对象的数量,通过共享机制来提高性能,特别是在处理大量具有相同或相似状态的对象时。享元模式的核心思想是区分对象的内部状态(intrinsic state)和外部状态...

    Java设计模式之享元模式.docx

    享元模式是一种面向对象的设计模式,它通过共享技术来减少对象的创建,从而提高系统性能。在Java中,享元模式的一个典型应用是Integer类的缓存机制。当我们创建两个数值相同的Integer对象时,比如Integer i1 = new ...

    C++设计模式之享元模式(Flyweight)

    C++设计模式之享元模式(Flyweight)是一种结构型设计模式,主要用于解决大量相似对象的创建和操作所带来的内存负载问题。该模式的主要设计目标是通过共享对象来减少内存负载,提高系统的性能。 享元模式顾名思义...

    软件设计模式——享元模式设计报告

    享元模式是一种软件设计模式,它的主要目的是为了提高性能,减少对象的创建,尤其是在大量相似对象需要被创建的情况下。在给定的咖啡店案例中,享元模式的应用可以帮助优化内存使用,避免为每杯咖啡的配料表分配独立...

    Python设计模式之享元模式原理与用法实例分析

    本文实例讲述了Python设计模式之享元模式原理与用法。分享给大家供大家参考,具体如下: 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度的对象. 下面是一个享元模式的demo: #!/usr/bin/env python...

    设计模式的享元模式的例子

    享元模式是软件设计模式中的一种结构型模式,它的主要目的是通过共享大量细粒度对象来减少内存的使用,提高系统性能。在许多场景下,尤其是处理大量相似对象时,享元模式能显著减少内存开销。这个压缩包文件...

    JavaScript设计模式之享元模式实例详解

    本文实例讲述了JavaScript设计模式之享元模式。分享给大家供大家参考,具体如下: 通过两个例子的对比来凸显享元模式的特点:享元模式是一个为了提高性能(空间复杂度)的设计模式,享元模式可以避免大量非常相似类的...

    Java设计模式之享元模式实例详解

    主要介绍了Java设计模式之享元模式,结合实例形式详细分析了享元模式的概念、功能、定义及使用方法,需要的朋友可以参考下

    C++设计模式课件13_Flyweight_享元模式.pdf

    ### C++设计模式之享元模式详解 #### 一、享元模式概述 享元模式(Flyweight Pattern)是设计模式中的一种优化模式,主要用于减少创建大量相似对象所需的内存消耗。在C++程序设计中,当系统中存在大量的相同或相似...

Global site tag (gtag.js) - Google Analytics