享元(Flyweight)模式要点
来源:互联网 发布:怎么看淘宝店铺收藏量 编辑:程序博客网 时间:2024/05/31 18:50
1.采用共享的方法来降低系统中细粒度对象的个数,从而降低内存消耗。
2.享元对象
内蕴状态(Internal State):存储在享元对象内部不随环境而改变,可以共享,使对象相对于内蕴状态在整个系统中是唯一的;
外蕴状态(External State):在客户端保存会随环境而改变,需要在使用的时候传入到对象的内部;
2种状态是相互独立的。
3.软件对象不依赖于对象的身份,这些对象是不可分辨的。
4.抽象享元角色(flyweight)
具体享元角色(concreteflyweight)
享元工厂角色(flyweightfactory):将享元对象用工厂方法封装起来,这个工厂必须是单件的,享元类可以被实例化而单件类则不可以。
客户端角色(client)
这里的角色就是类。
5.缺点
程序的逻辑复杂化,享元对象的状态外部化使系统运行时间稍微变长。
6.在实际开发中并不常用。
7.在.net中运用
string类型,创建2个同样的字符串(字符串内容相同)对象在内存中的位置(引用)相同,这个相同的字符串就是2个字符串对象的“享元”。
- 享元(Flyweight)模式要点
- 享元模式(Flyweight)
- 享元(Flyweight)模式
- 享元模式(Flyweight)
- Flyweight(享元模式)
- 享元模式(Flyweight)
- Flyweight(享元)模式
- 享元(Flyweight)模式
- 享元模式(FlyWeight)
- 享元(flyweight)模式
- 享元模式(Flyweight)
- 享元模式(Flyweight)
- Flyweight(享元模式)
- 享元模式(Flyweight)
- Flyweight(享元模式)
- 享元模式(Flyweight)
- 享元模式(Flyweight)
- 享元模式(Flyweight)
- 移植android问题之ADB
- Python架构(二)
- 如何得到一个进程的句柄
- [转]Shader Editor的设计原理(OGRE)
- [转]基于OGRE构建一个插件式的跨平台3D游戏引擎
- 享元(Flyweight)模式要点
- [转]OGRE的渲染流程
- linux安装vmware过程
- C语言的异常处理
- [Ant] 创建并调试自定义的Ant Task
- DTE设备和DCE设备详细介绍
- 3d透视投影函数的理解
- ASP.NET中发送邮件
- “安装程序检测到计算机重新启动操作可能处于挂起状态”的解决方法