![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 78
Tian_Ex
这个作者很懒,什么都没留下…
展开
-
单例模式
单例模式是Java中最常用的模式之一,它通过阻止外部实例化和修改,来控制所创建的对象的数量。单例用于确保一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。构成要素:私有的构造方法——其他类不能实例化一个新的对象;指向自己实例的私有静态引用——不能进行外部修改;以自己实例为返回值的公有静态方法——唯一可以获得对象的方式;单例模式实现方式恶汉式:pub原创 2016-01-10 13:40:47 · 281 阅读 · 0 评论 -
建造者模式
建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建出不同的表示。它的关键特性是它将一个建造过程分解成若干步骤,即每个产品的建造都会遵循同样的步骤,但每个步骤内的具体实现都不尽相同。建造者模式的类图: 建造者模式的实际用法很多类库都有使用建造者模式,比如Java API中的StringBuilder:StringBuilder str原创 2016-01-10 13:55:59 · 459 阅读 · 0 评论 -
原型模式
原型模式通过给出一个原型对象来指定所有创建对象的类型,然后复制原型对象创建出更多同类型的对象,其主要用于对象的复制。原型模式核心是原型类Prototype,一个原型类通常要:实现Cloneable接口(在JVM中只有实现了这个接口才可以被拷贝,否则运行时会抛出CloneNotSupportedException异常);重写Object类的clone方法;示例://原原创 2016-01-10 15:45:29 · 322 阅读 · 0 评论 -
桥接模式
简单来讲,桥接模式是一个两层的抽象。桥接模式是用于把抽象和实现脱耦,这样它们就能独立变化。 桥接模式使用了封装、聚合,可以用继承将不同的功能拆分为不同的类。所谓的耦合,就是两个实体的某种强关联。而将它们的强关联去掉就是脱耦。强关联就是在编译期就已经确定的,无法在运行期动态改变的关联(Java继承是强关联,聚合是弱关联)。示例代码:首先定义电视机的接口ITV:publ原创 2016-01-10 15:47:09 · 492 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式为创建一组相关的或相互依赖的对象提供一个接口,而无需指定它们具体类。抽象工厂是一个父类工厂,可以创建其它工厂类。故我们也叫它“工厂的工厂”。代码示例:interface CPU { void process();} interface CPUFactory { CPU produceCPU();} class AMDFactory i原创 2016-01-10 15:49:49 · 223 阅读 · 0 评论 -
适配器模式
适配器模式把一个类的接口转换成客户端所期待的另一种接口,从而使原本因接口不匹配而不兼容的两个类能够在一起工作。缺省适配器模式为一个接口提供缺省实现,这样子类型可以从这个缺省实现进行扩展,而不必从原有接口进行扩展。适配器模式的用意是改变源角色接口形式,以便于与目标接口相兼容,缺省的适配器用意则是为了方便建立一个不平庸的适配器类而提供的一种平庸的实现。适配器模式有类的适配器模式和对象的原创 2016-01-10 15:51:23 · 234 阅读 · 0 评论 -
观察者模式
观察者模式是一种行为模式,用来构成运行中的对象间的关系。在GOF中给出的定义如下:观察者模式定义了对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。简而言之,观察者模式=发布者+注册者。Java类库的java.util包中通过Observable类和Observer接口,实现了一个Subject-Observer模式的非通用版本。Observa原创 2016-01-10 15:52:15 · 229 阅读 · 0 评论