03 2019 档案
摘要:解释器模式 定义一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 类结构图 Context 包含解释之外的一些全局信息。 AbstractExpression 声明一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享。 TerminalExpress
阅读全文
摘要:享元模式 运用共享技术有效的支持大量细粒度的对象。 类结构图 FlyweightFactory 一个享元类,用来创建并管理 Flyweight 对象。它主要是用来确保合理地共享 Flyweight,当用户请求一个 Flyweight 时,FlyweightFactory 对象提供一个已创建的实例。
阅读全文
摘要:中介者模式 用一个中介对象来封装一系列的对象的交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 类结构图 Mediator 抽象中介者,定义了同事对象到中介者对象的接口。 ConcreteMediator 具体的中介者对象,实现抽象类的方法,它需要知道所
阅读全文
摘要:责任链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 类结构图 Handler 定义一个处理请示的接口。 ConcreteHandlerA、ConcreteHandlerB 具体的处理类,处理它所
阅读全文
摘要:命令模式 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。 类结构图 Invoker 要求该命令执行这个请求。 Command 用来声明执行命令的接口。 ConcreteCommand 将一个接收者对象绑定于一个动作,调用接收者相应的操作,以实现 Execute。 Receiver
阅读全文
摘要:桥接模式 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?这就要使用桥接模式。而具体使用的方式,则是将抽象部分与他们的实现部分分离,使得它们都可以独立的变化。 什么才是抽象部分与它的实现分离呢,并不是说将抽象类和实现类分离。实现指的是抽象类和它的实
阅读全文
摘要:单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 类结构图 单例模式有两种实现方式:恶汉式、懒汉式。 饿汉式代码示例 public class Singleton { private static final Singleton SINGLETON = new Singleton()
阅读全文
摘要:BeanFactory BeanFactory 是 Spring IoC 容器的具体实现,是 Spring 容器的核心接口。 DefaultListableBeanFactory XmlBeanFactory 继承自 DefaultListableBeanFactory 而 DefaultLista
阅读全文
摘要:迭代器模式 提供一种方法顺序访问到一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 类结构图 Aggregate 聚集抽象类。 ConcreteAggregate 具体的聚集类,继承 Aggregate。 Iterator 迭代抽象类,用于定义得到开始对象、得到下一个对象、判断是否到结尾、当前
阅读全文
摘要:组合模式 将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 类结构图 Component 组合中的对象声明接口,在适当情况下,实现所有类共有的接口默认行为。声明一个接口用于访问和管理 Component 的子部件。 Composite 定义节
阅读全文