无废话C#设计模式之十:Flyweight
2009-04-02 08:23:25 来源:WEB开发网核心提示: l 按照需求可以对享元角色进行抽象,注意事项l 享元模式通常针对细粒度的对象,无废话C#设计模式之十:Flyweight(3),如果这些对象比较拥有非常多的独立状态(不可共享的状态),或者对象并不是细粒度的,如果享元占用的资源比较小或者享元的实例不是非常多的话(和列表元素数量差不多),那么
l 按照需求可以对享元角色进行抽象。
注意事项
l 享元模式通常针对细粒度的对象,如果这些对象比较拥有非常多的独立状态(不可共享的状态),或者对象并不是细粒度的,那么就不适合运用享元模式。维持大量的外蕴状态不但会使逻辑复杂而且并不能节约资源。
l 享元工厂中维护了享元实例的列表,同样也需要占用资源,如果享元占用的资源比较小或者享元的实例不是非常多的话(和列表元素数量差不多),那么就不适合使用享元,关键还是在于权衡得失。
系列文章:
无废话C#设计模式之一:开篇
无废话C#设计模式之二:Singleton
无废话C#设计模式之三:Abstract Factory
无废话C#设计模式之四:Factory Method
无废话C#设计模式之五:Prototype
无废话C#设计模式之六:Builder
无废话C#设计模式之七:Adapter
无废话C#设计模式之八:Facade
更多精彩
赞助商链接