A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大★宝 中级黑马   /  2014-8-19 11:22  /  1374 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有很多个小的对象,他们有很多属性相同,把他们变成一个对象。
那些不同的属性变成方法的参数,称之为外部状态,那些相同的属性称之为这个对象的内部状态。

2 个回复

倒序浏览
很多具有一些相同属性的事物封装成一个对象,相同的属性叫做内部状态,不同的属性叫做外部状态,这就是享元设计模式。
回复 使用道具 举报
面向对象的思想确实很好地解决了抽象性的问题,以至于在面向对象的眼中,万事万物一切皆对象。不可避免的是,采用面向对象的编程方式,可能会增加一些资源和性能上的开销。不过,在大多数情况下,这种影响还不是太大,所以,它带来的空间和性能上的损耗相对于它的优点而言,基本上不用考虑。但是,在某些特殊情况下,大量细粒度对象的创建、销毁以及存储所造成的资源和性能上的损耗,可能会在系统运行时形成瓶颈。那么我们该如何去避免产生大量的细粒度对象,同时又不影响系统使用面向对象的方式进行操作呢?享元设计模式提供了一个比较好的解决方案。 公共交换电话网的使用方式就是生活中常见的享元模式的例子。公共交换电话网中的一些资源,例如拨号音发生器、振铃发生器和拨号接收器,都是必须由所有用户共享的,不可能为每一个人都配备一套这样的资源,否则公共交换电话网的资源开销也太大了。当一个用户拿起听筒打电话时,他根本不需要知道到底使用了多少资源,对用户而言所有的事情就是有拨号音,拨打号码,拨通电话就行了。所以,就有很有人会共用一套资源,非常节省,这就是享元模式的基本思想。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马