摘要:
享元模式就是通过使用共享的方式,达到高效地支持大量的细粒度对象。它的目的就是节省占用的空间资源,从而实现系统性能的改善。 享元对象的所有状态分成两类: 享元对象的第一类状态称为内蕴状态(Internal State)。它不会随环境改变而改变,存储在享元对象内部,因此内蕴状态是可以共享的,对于任何一个 阅读全文
摘要:
将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 "组合对象" 的含义。Composite模式使得用户对单个对象和组合对象的使用具有一致性。 效果及实现要点 1、Compo 阅读全文
摘要:
在提出桥接模式的时候指出,桥接模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。 效果及实现要点: 1、Bridge模式使用“对象间的组合关系”解耦了抽象和实现之间固有的绑定关系,使 阅读全文
摘要:
volatile 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。volatile很容易被误用,用来进行原子性操作。 对于volatile修饰的变量,jvm虚拟机只是保证从主内存加载到线程工作内存的值是最新的. 参考:http://www.cnblogs.com/ 阅读全文
摘要:
Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 要点: 1、装饰者和被装饰对象有相同的超类型。 2、可以用一个或多个装饰 阅读全文
摘要:
给某一个对象提供一个代理,并由代理对象控制对原对象的引用。在一些情况下,一个客户不想或者不能直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 关于代理模式种类的划分,我个人认为不能分为种类的划分,他们只是在不同领域或者说方向上的应用而已: 远程(Remote)代理:为一个位于不 阅读全文
摘要:
/* * Copyright (c) 1994, 2004, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * *... 阅读全文
摘要:
适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 所涉及的角色有: 目标(Target)角色:这就是所期待得到的接口。注意:由于这里讨论的是类适配器模式,因此目标不可以是类。 源(Adapee)角色:现在需要适配的接口。 适配器( 阅读全文
摘要:
外观模式的主要思想是将复杂的细粒度的对象服务包装成简单的易使用的粗粒度的功能服务,我们大家最容易理解和知道的外观模式就是,使用的API接口的封装,我们将第三方的API接口引入到我们的项目中的时候,我们需要对这些接口进行包装,将细粒度的具体调用过程进行包装成外观类的形式,通过外观类来进行统一的调用。 阅读全文
摘要:
将一个“复杂对象的构建算法”与它的“部件及组装方式”分离,使得构件算法和组装方式可以独立应对变化;复用同样的构建算法可以创建不同的表示,不同的构建过程可以复用相同的部件组装方式。 客户端不需知道创建的具体细节,只需对指挥者下命令,这就解耦了客户端和创建者,这个指挥者感觉有点像一个工厂,但是工厂模式解 阅读全文