flyweight模式 是避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类). 有内部状态intrinsic和外部状态extrinsic之分..flyweight的内部状态是用来共享的,flyweight factory负责维护一个flyweight pool(模式池)来存放内部状态的对象 flyweight factory负责维护一个flyweight池(存放内部状态),当客户端请求一个共享flyweight时,这个factory首先搜索池中是否已经有可适用的,如果有,factory只是简单返回送出这个对象...
GOF:运用共享技术有效地支持大量细粒度的对象。 解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说(这里引用GOF书中的例子)一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义 52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,...
flyweight模式定义: 避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类). 为什么使用? 面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对 象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被共享的类,另外,还有一些特性是取决于应用 (context),...
什么是c/S模式? c/S (client/Server,客户机/服务器)模式又称c/S结构,是软件系统体系结构的一种。c/S模式简单地讲就是基于企业内部网络的应用系统。与B/S(Browser/Server,浏览器/服务器)模式相比,c/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。 典型的c/S模式应用系统网络结构如下图: 什么是B/S模式? B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Inte...
大家做应用时,常常会与数据库打交道,这样就会大量用到sql语句 使用proxy模式可以分离应用层与数据库。但是在应用中,如果sql语句很多,那么proxy层也会比较复杂。并且,针对proxy层,也很难使用类厂方法,而必须直接new proxy层中的具体对象。这样的情形下,应用还是会依赖某个具体类,从而违反类的依赖性原则。 在使用c++开发应用时,请教有什么好的办法来解决这样问题吗?您觉得可以对proxy层使用类厂方法吗? 我的表达可...
大家做应用时,常常会与数据库打交道,这样就会大量用到sql语句 使用proxy模式可以分离应用层与数据库。但是在应用中,如果sql语句很多,那么proxy层也会比较复杂。并且,针对proxy层,也很难使用类厂方法,而必须直接new proxy层中的具体对象。这样的情形下,应用还是会依赖某个具体类,从而违反类的依赖性原则。 在使用c++开发应用时,请教有什么好的办法来解决这样问题吗?您觉得可以对proxy层使用类厂方法吗? 我的表达可能...
本帖最后由 bert1984 于 2010-10-11 17:16 编辑 c++标准库教程,清华出版,影印版。原价79 。现价35 4.4BSD操作系统设计与实现,中文版。中国电力出版。原价59. 现价25 PYTHON IN A Nutshell 影印版,第二版,东南大学出版。原价79, 现价35 设计模式初学者指南 机械工业 原价49 现价20 还有一些高清晰电子版书籍,关于linux、c++的。加qq可以传给你。 不卖啦!结贴 上海徐汇区 [ 本帖最后由 bert1984 于 2009-10-3 16...