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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 崔利鹏 中级黑马   /  2012-11-6 12:00  /  1473 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 super携手 于 2012-11-8 09:59 编辑

什么是享元模式呢?还是有点模糊不清,请大家帮忙。谢谢

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

3 个回复

倒序浏览
在单纯享元模式中,所有的享元对象都是可以共享的。单纯享元模式所涉及的角色如下:
抽象享元(Flyweight)角色:此角色是所有的具体享元类的超类,为这些类规定出需要实现的公共接口。那些需要外蕴状态(External State)的操作可以通过调用商业方法以参数形式传入。
具体享元(ConcreteFlyweight)角色:实现抽象享元角色所规定的接口。如果有内蕴状态的话,必须负责为内蕴状态提供存储空间。享元对象的内蕴状态必须与对象所处的周围环境无关,从而使得享元对象可以在系统内共享的。
享元工厂(FlyweightFactory)角色:本角色负责创建和管理享元角色。 本角色必须保证享元对象可以被系统适当地共享。当一个客户端对象调用一个享元对象的时候,享元工厂角色会检查系统中是否已经有一个复合要求的享元对象。如 果已经有了,享元工厂角色就应当提供这个已有的享元对象;如果系统中没有一个适当的享元对象的话,享元工厂角色就应当创建一个合适的享元对象。

Pic86.gif (6.8 KB, 下载次数: 27)

Pic86.gif

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
享元模式
有很多个小的对象。他们的属性有很多相同的地方,那么就可以把他们变成同一个对象。相同的属性我们把它称之为内部状态,而那些不相同的属性我们把它变成方法的参数,称之为外部状态。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
谢谢拉、、、、明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马