如何详细讲解C语言编程基础?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1556个文字,预计阅读时间需要7分钟。
一、概述在软件开发中,我们有时需要创建大量细粒度的对象,如文档处理系统可能需要创建数百万个字符对象。如果每个字符对象都分配内存,那么在系统运行时将会消耗大量资源。
一、概述
在软件开发中,我们有时需要创建大量细粒度的对象,比如文档处理系统就可能需要创建成千上万的字符对象。但如果对每个字符对象都分配内存,那么在系统运行时就会耗费大量的内存。如何在保留面向对象操作方式优点的同时避免创建大量的对象呢?这就到了享元模式发挥作用的时候了。
二、享元模式
享元模式运用共享技术有效地支持大量细粒度的对象。例如可以对文档处理系统创建共享池,在共享池中建立字母和代码的对应关系,这样就可以用共享池中的26个对象解决需要创建大量对象的问题。其结构图如下:
Flyweight定义了享元接口,外部对象通过这个接口来访问具体的享元对象。
ConcreteFlyweight实现Flyweight接口,定义了具体的享元对象,并保存享元对象的内部状态。该享元对象是可共享的。
UnsharedConcreteFlyweight实现Flyweight接口,定义了不用于共享的享元对象。
FlyweightFactory创建并管理享元对象。
Client保存对享元接口的引用,通过该引用有效的使用具体的享元对象。
本文共计1556个文字,预计阅读时间需要7分钟。
一、概述在软件开发中,我们有时需要创建大量细粒度的对象,如文档处理系统可能需要创建数百万个字符对象。如果每个字符对象都分配内存,那么在系统运行时将会消耗大量资源。
一、概述
在软件开发中,我们有时需要创建大量细粒度的对象,比如文档处理系统就可能需要创建成千上万的字符对象。但如果对每个字符对象都分配内存,那么在系统运行时就会耗费大量的内存。如何在保留面向对象操作方式优点的同时避免创建大量的对象呢?这就到了享元模式发挥作用的时候了。
二、享元模式
享元模式运用共享技术有效地支持大量细粒度的对象。例如可以对文档处理系统创建共享池,在共享池中建立字母和代码的对应关系,这样就可以用共享池中的26个对象解决需要创建大量对象的问题。其结构图如下:
Flyweight定义了享元接口,外部对象通过这个接口来访问具体的享元对象。
ConcreteFlyweight实现Flyweight接口,定义了具体的享元对象,并保存享元对象的内部状态。该享元对象是可共享的。
UnsharedConcreteFlyweight实现Flyweight接口,定义了不用于共享的享元对象。
FlyweightFactory创建并管理享元对象。
Client保存对享元接口的引用,通过该引用有效的使用具体的享元对象。

