设计模式—“对象性能”
Posted PaQiuQiu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式—“对象性能”相关的知识,希望对你有一定的参考价值。
面向对象很好地解决了“抽象”的问题,但是必不可免地要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。
一、Flyweight
运用共享技术将大量细粒度的对象进项复用,并且提供一个 享元池
,最后通过享元工厂类将享元对象提供给客户端使用,核心其实就是 享元池
,用户需要对象时,首先从享元池中获取,如果享元池中不存在,则创建一个新的享元对象返回给用户,并在享元池中保存该新增对象。
动机
在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价——主要指内存需求方面的代价。
如何在避免大量细粒度对象问题的同时,让外部客户程序仍然能够透明地使用面向对象的方式来进行操作?
模式定义
运用共享技术有效地支持大量细粒度的对象。
——《设计模式》GoF
结构
以上是关于设计模式—“对象性能”的主要内容,如果未能解决你的问题,请参考以下文章