刚从yichao.blog.edu.cn搬家过来先把以前的日志贴到这里,这也是blog.edu.cn的一个好处,它提供了整站的html格式导出
Archive for September, 2006
看图说话,谈谈adapter,proxy,facade,bridge模式的区别与联系
适用人群:对模式有一定了解,但又死扣区别的人。个人意见,仅供参考。
adapter_class vs adapter_object
适配器模式有两类,一种叫类适配器(adapter_class),另一类是对象适配器(adapter_object)。它俩的区别主要体现在adapter和adaptee的关系上
如果是类继承关系则为adapter_class,如果是对象属性关系,则是adapter_object
如图所示:
adapter vs proxy
适配模式是将一个类的接口转换成客户希望的另外一个接口。
代理模式是为其他对象提供一种代理以控制对这个对象的访问。
这是我们常见到的定义,但是还是让初学者摸不清头脑,adapter和proxy到底有什么区别?
adapter是适配adaptee和target之间的关系,proxy是realSubject对subject的代理。
adaptee和target无关系,realSubject和subject有继承关系。这就是他们的区别。
请看下图:
facade vs others
facade用于为复杂的子系统定义一个新的简单易用的接口。
它的重点在
1 封装复杂的子系统,对外提供一个简单的访问入口。
2 降低外界和子系统的耦合度。加了facade入口,外界就只依赖facade入口,而不用依赖子系统的其他类。
如图所示:
bridge vs others
bridge用于将一个抽象与多个可能的实现连接起来。
它是解决抽象类与其实现类之间依赖关系问题,可以使得抽象和实现各自独立且动态结合。
它使用了composition替代了inheritance,从而解除了抽象类和实现类间的耦合。体现了Favor object composition over class inheritance。
如图所示
Continue reading " 看图说话,谈谈adapter,proxy,facade,bridge模式的区别与联系 "
intel MMX, SSE, SSE2区别与联系
MMX(MultiMediaExtensions) 多媒体增强指令集 实现了单道指令多道数据流(SIMD,single-instruction, multiple-data)的执行模式 支持MMX指令集的处理器有八个64位的寄存器,这个寄存器可以存放的数据类型有四种:字节(byte)、字(word),双字(double-word) 分别可以存放8,4,2个。 举个例子: 支持MMX指令集就是说原来对每个数组中(byte)元素加一的操作现在可以一次性load 8个元素,一次性对这个八个元素加一 这就是所谓的”单道指令多道数据流“ http://blog.csdn.net/guanchanghui/archive/2006/07/28/989256.aspx 上有个很好的演示代码
SSE(Streaming SIMD Extensions)单指令多数据流式扩展 就是扩展了MMX支持的SIMD,支持SSE指令集的处理器有八个128位的寄存器,另外支持的数据类型多了个单精度浮点型
SSE2 就是扩展了的SSE,它的寄存器支持的数据类型比SSE多了个双精度浮点型
除了在多媒体处理方面,在多线程处理方面,也是它们的英雄用武地!
Search
Most Comments
- blogsync with gui coming, import your wordpress to blogger (69)
- blogsync 0.3 released, comments can be imported. (22)
- A tool that import all posts from wordpress to blogger in python (8)
- Mac OS X上成功使用dopod 696 wm5.0 连 cmwap上网 (7)
- blogsync 2.0 released, import your wordpress to blogger from rss xml file or online (5)
- How to decompile .dex file on Android (4)
- Inconvenienced when using Contact Content Provider on Android (3)
- 统一Mac OS X,Windows XP/Vista以及linux的系统时间 (2)
- Windows XP/Vista vs Mac OS X 软件对比清单 (2)
- 性能准则之一:在遍历集合前一定要判断集合是否为空 (2)
- A python script that get posts from wordpress by httplib (1)
- blogsync FAQ (1)
Recent Comments
- Naveen chenoli in blogsync with gui coming, import yo…
- snupijenta in blogsync 0.3 released, comments can…
- Cristian in blogsync 0.3 released, comments can…
- Maypu in 说个有趣的事儿,钥匙与ha…
- Maypu in 看图说话,谈谈adapter,prox…
- zeaster in blogsync 0.3 released, comments can…
- the writer in blogsync 0.3 released, comments can…
- zeaster in Inconvenienced when using Contact C…
- sshwsfc in Inconvenienced when using Contact C…
- zeaster - How t… in Inconvenienced when using Contact C…