打字猴:1.700475341e+09
1700475341 设计模式之禅 [:1700454057]
1700475342 设计模式之禅 28.5 最佳实践
1700475343
1700475344 Flyweight是拳击比赛中的特用名词,意思是“特轻量级”,指的是51公斤级比赛,用到设计模式中是指我们的类要轻量级,粒度要小,这才是它要表达的意思。粒度小了,带来的问题就是对象太多,那就用共享技术来解决。
1700475345
1700475346 享元模式在Java API中也是随处可见,如这样的程序就是一个很好的例子,如代码清单28-17所示。
1700475347
1700475348 代码清单28-17  API中的享元模式
1700475349
1700475350 public class Test{
1700475351
1700475352 public static void main(String[]args){
1700475353
1700475354 String str1=“和谐”;
1700475355
1700475356 String str2=“社会”;
1700475357
1700475358 String str3=“和谐社会”;
1700475359
1700475360 String str4;
1700475361
1700475362 str4=str1+str2;
1700475363
1700475364 System.out.println(str3==str4);
1700475365
1700475366 str4=(str1+str2).intern();
1700475367
1700475368 System.out.println(str3==str4);
1700475369
1700475370 }
1700475371
1700475372 }
1700475373
1700475374 看看Java的帮助文件中String类的intern方法。如果是String的对象池中有该类型的值,则直接返回对象池中的对象,那当然相等了。
1700475375
1700475376 需要说明一下的是,虽然可以使用享元模式可以实现对象池,但是这两者还是有比较大的差异,对象池着重在对象的复用上,池中的每个对象是可替换的,从同一个池中获得A对象和B对象对客户端来说是完全相同的,它主要解决复用,而享元模式在主要解决的对象的共享问题,如何建立多个可共享的细粒度对象则是其关注的重点。
1700475377
1700475378
1700475379
1700475380
1700475381 设计模式之禅 [:1700454058]
1700475382 设计模式之禅 第29章 桥梁模式
1700475383
1700475384 设计模式之禅 [:1700454059]
1700475385 29.1 我有一个梦想……
1700475386
1700475387 我们每个人都有理想,但不要只是空想,理想是要靠今天的拼搏来实现的。今天咱们就来谈谈自己的理想,如希望成为一个富翁,身价过亿,有两家大公司,一家是房地产公司,一家是服装制造公司。这两家公司都很赚钱,天天帮你累积财富。其实你并不关心公司的类型,你关心的是它们是不是在赚钱,赚了多少,这才是你关注的。商人嘛,唯利是图是其本性,偷税漏税是方法,欺上瞒下、压榨员工血汗是常用的手段,先用类图表示一下这两个公司,如图29-1所示。
1700475388
1700475389
1700475390
[ 上一页 ]  [ :1.700475341e+09 ]  [ 下一页 ]