适配器模式 Adapter | 类似变压器 把被适配的类的API转换为目标类的API 例:使用变压器使110V的电器可以在220V的插座上使用。 |
装饰模式 Decorator | 目的是扩展一个对象的功能 调用方法: |
桥梁模式 Bridge | 一个很好的解决类爆炸问题的模式。 |
代理模式 Proxy | 代理模式与装饰模式类似,都是用来增强对象功能的模式。 代理模式体现了AOP的编程思想,Java对动态代理做了很好的支持。 常用场景: 1. 使用某功能前对用户进行身份检查 2. 加载一个模块前,显示“正在加载”信息 |
合成模式 Composite | 将对象组合成树形结构以表示“部分-整体”的层次结构。 安全式:只有文件夹有添加和删除子文件夹或文件的权利。 透明式:树枝和树叶接口一致,均可以进行添加和删除。 |
享元模式 Flyweight | 运用共享技术有效地支持大量细粒度对象。 文本编辑器中每一个字母是一个享元对象,内部状态是这个字母,是被共享的,外部状态是这个字母在文本中的位置和字体、大小等信息。 Java中常量池(constant pool)就使用了享元模式,即如果两个常量内容一致,他们会共享一个地址。比如定义String s1="a", String s2="a",s1==s2。但注意常量池是在编译期被确定的,如果s2在运行时才被赋值为"a",s1 != s2。可以使用String的intern()方法在运行时使用和扩充常量池。 |
门面模式 Facade | 为一复杂子系统定义一个高层接口,使这一子系统更加容易使用。 |
我的设计模式速查手册(二)
最新推荐文章于 2024-09-15 22:03:14 发布