-
Facade
设计模式目录 **外观模式(门面模式)**是一种结构型设计模式, 能为程序库、 框架或其他复杂类提供一个简单的接口。 外观模式结构 核心 Java 程序库中的外观示例: javax.faces.context.FacesContext 在底层使用了 LifeCycle、ViewHandler 和 -
Composite
设计模式目录 组合模式是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。 也可以称为整体-部分(Part-Whole)模式,它的宗旨是通过将单个对象(叶子节点)和组合对象(树枝节点)用相同的接口进行表示,使得客户对单个对象和组合对象的使用具有一致性。 目录 -
Bridge
设计模式目录 桥接模式是一种结构型设计模式, 可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构, 从而能在开发时分别使用。 为什么要有桥接模式? 假如你有一个几何 形状Shape类, 从它能扩展出两个子类: 圆形Circle和 方形Square 。 你希望对这样的类层次结构进行扩展 -
Decorator
设计模式目录 装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 由于目标对象和装饰器遵循同一接口, 因此你可用装饰来对对象进行无限次的封装。 结果对象将获得所有封装器叠加而来的行为。 装饰模式结构 Java 核心程序库中有一些关于装饰的示例: ja -
Adapter
设计模式目录 适配器模式是一种结构型设计模式, 它能使接口不兼容的对象能够相互合作。 适配器模式结构 Object adapter Class adapter Java 核心程序库中有一些标准的适配器: java.util.Arrays#asList() java.util.Collections# -
设计模式目录
Creational Patterns Design Url Describe Factory Method Factory Method 在父类中提供一个创建对象的接口以允许子类决定实例化对象的类型。 Abstract Factory Abstract Factory 让你能创建一系列相关的对象, -
Singleton
设计模式目录 单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。 解决方案 所有单例的实现都包含以下两个相同的步骤: 将默认构造函数设为私有, 防止其他对象使用单例类的 new运算符。 新建一个静态构建方法作为构造函数。 该函数会 “偷偷” 调用私有构 -
Prototype
设计模式目录 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需使代码依赖它们所属的类。 原型模式结构 Java 的 Cloneable (可克隆) 接口就是立即可用的原型模式。 任何类都可通过实现该接口来实现可被克隆的性质。 java.lang.Object#clone() (类必须 -
Builder
设计模式目录 建造者模式(生成器模式)是一种创建型设计模式, 使你能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。 适用场景 折叠构造函数模式(telescoping constructor pattern ) 假设你的构造函数中有十个可选参数, 那么调用该函数会非 -
Abstract Factory
设计模式目录 抽象工厂模式与工厂方法模式虽然主要意图都是为了解决,接口选择问题。但在实现上,抽象工厂是一个中心工厂,创建其他工厂的模式。 以下是来自核心 Java 程序库的一些示例: javax.xml.parsers.DocumentBuilderFactory#newInstance() jav