当前位置: 首页 > news >正文

深圳商城网站建设企业办公软件排名

深圳商城网站建设,企业办公软件排名,wordpress 加速插件,企业网站建设策划方案定义 运用共享技术有效地支持大量细粒度的对象。 使用场景 在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中#xff0c;从而带来很高的运行时代价——主要指内存需求方面的代价。如何在避免大量细粒度对象问题的同时#xff0c;让外部客户程序仍…定义 运用共享技术有效地支持大量细粒度的对象。 使用场景 在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中从而带来很高的运行时代价——主要指内存需求方面的代价。如何在避免大量细粒度对象问题的同时让外部客户程序仍然能够透明地使用面向对象的方式来进行操作? 结构 代码示例 //Flyweight.h /****************************************************/ #ifndef FLYWEIGHT_H #define FLYWEIGHT_H #includeiostream #includemap using namespace std; //享元模式 class Flyweight //抽象的享元类 { public :virtual void Operator(int i) 0; };class ConcreteFlyweight : public Flyweight //共享的子类 { public:void Operator(int i){cout 共享的Flyweight iendl;} };class UnshareConcreteFlyweight : public Flyweight {void Operation(int i){cout 不共享的Flyweight : i endl;} };class FlyweightFactory //享元工厂 { private: mapstring, Flyweight* flyweights; //模块名列表 public:FlyweightFactory(){//这里需要用堆因为这是给客户程序返回的如果不用堆则会返回局部对象的引用flyweights[x] new ConcreteFlyweight();flyweights[y] new ConcreteFlyweight();flyweights[z] new ConcreteFlyweight();//所有的属性为“z”的模块都只对应这个一个实例这正是享元模式的精髓所在呀}Flyweight* GetFlyWeight(string key){if (!flyweights.count(key))flyweights[key] new ConcreteFlyweight();return flyweights[key];}mapstring, Flyweight*::size_type CountN()//返回当前可共享的模块数{return flyweights.size();}};#endif//test.cpp /****************************************************/ #include Flyweight.h int main() {int i 100;FlyweightFactory f;//整个过程采用一个工厂Flyweight *px f.GetFlyWeight(x);//获取x对应的模块px-Operator(--i);Flyweight* py f.GetFlyWeight(y);//获取x对应的模块py-Operator(--i);Flyweight* pz f.GetFlyWeight(a);//a不在初始化的表中pz-Operator(--i);//原来就有 x,y,z 加上现在的a 一共4个 cout 可共享的模块f.CountN() 个! endl;delete px;delete py;delete pz;px py pz NULL;return 0; }运行结果 要点总结 面向对象很好地解决了抽象性的问题但是作为一个运行在机器中的程序实体我们需要考虑对象的代价问题。Flyweight主要解决面向对象的代价问题一般不触及面向对象的抽象性问题。Flyweight采用对象共享的做法来降低系统中对象的个数,从而降低细粒度对象给系统带来的内存压力。在具体实现方面要注意对象状态的处理。对象的数量太大从而导致对象内存开销加大——什么样的数量才算大?这需要我们仔细的根据具体应用情况进行评估而不能凭空臆断。
http://wiki.neutronadmin.com/news/42421/

相关文章:

  • 企业网站备案多少钱网络推广方案的工作安排
  • h5制作页面百度seo培训要多少钱
  • 精品网站建设费用 c磐石网络天门做网站
  • 一个公司网站的价格wordpress seo怎么做
  • wap网站价格关于英文网站建设的请示
  • 如何建设个人网站急招大龄工45到55岁
  • 服务器网站建设教程重庆网站的网络推广
  • 外贸网站怎么建设wordpress 搬家教程
  • 果洛电子商务网站建设wordpress 图床
  • 滨州网站建设制作系统网站建设及优化 赣icp
  • 网站互动营销域名的定义
  • 南宁律师网站建设目前跨境电商平台有哪些
  • 关于网站设计的书籍做明星ps黄图网站
  • 网站建设的平面设计wordpress文章图片灯箱
  • 怎样创建网站和网页小型企业门户网站制作
  • 个人网页制作软件seo做的好的网站 知乎
  • 用wordpress制作网站模板wordpress 注册 邮箱
  • 互联网建站网站个人怎么报考消防证
  • 河南郑州创建网站公司如何查询一个网站的icp
  • 寒亭网站建设域名个人备案查询
  • 成都网站建设哪家公司好国外手机模板网站推荐
  • 烟台做网站推广的公司公众号平台app
  • dw里响应式网站怎么做如何做积分商城网站
  • ps课堂网站网站如何备案流程
  • 网站建设搜索优德阳seo网站建设
  • 专题类响应式网站建设网站开发对招聘人员要求
  • 淘宝客建立网站宣传网
  • 用网站免费模板做网站要会什么产品推广活动策划方案
  • 昆山网站备案网站头部设计优化
  • 开发一套网站价格租门面做网站