![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Design Pattern
哈天奇不奇
这个作者很懒,什么都没留下…
展开
-
单例模式Singleton
1.定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2. 单例模式的本质:控制实例数目 Singleton:负责创建Singleton类自己的唯一实例,并提供一个getInstance的方法,让外部来访问这个类的唯一实例。 package com.fairy.dp.singleton; public class Singleton { /** ...原创 2012-02-16 23:40:25 · 60 阅读 · 0 评论 -
抽象工厂模式AbstractFactory
1. 定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 2. 结构图AbstractFactory:抽象工厂,定义创建一系列产品对象的操作接口。ConcreteFactory:具体的工厂,实现抽象工厂定义的方法,具体实现一系列产品对象的创建。AbstractProduct:定义一类产品对象的接口。ConcreteProduct:具体的产品实现对象,通常在具体工厂里...原创 2016-01-24 20:37:18 · 85 阅读 · 0 评论 -
工厂方法模式FactoryMethod
1. 定义定义一个用于创建对象的接口,让子类决定实例化哪一个类,FactoryMethod使一个类的实例化延迟到其子类。 2. 结构图Product:定义工厂方法所创建的对象的接口,也就是实际需要使用的对象的接口。ConcreteProduct:具体的Product接口的实现对象。Creator:创建器,声明工厂方法,工厂方法通常会返回一个Product类型的实例对象,而且多是抽象方法。...原创 2016-01-24 20:01:15 · 74 阅读 · 0 评论 -
简单工厂SimpleFactory
1. 定义 提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口,抽象类,也可以是具体的类。 2. 结构图 Api:定义客户所需要的功能接口。 Impl:具体实现Api的实现类,可能会有多个。 Factory:工厂,选择合适的实现类来创建Api接口对象。 Client:客户端,通过Factory类获取Api接口对象,然后面向Api接口编程。 ...原创 2016-01-24 19:33:08 · 61 阅读 · 0 评论 -
适配器模式Adapter
1. 定义将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 2. 结构图 Client:客户端,调用自己需要的领域接口TargetTarget:定义客户端需要的跟特定领域相关的接口。Adaptee:已经存在的接口,通常能满足客户端的功能需求,但是接口与客户端要求的特定领域接口不一致,需要被适配。Adapter:适配器,把...原创 2016-01-24 13:13:12 · 49 阅读 · 0 评论 -
模板方法模式TemplateMethod
1. 定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2. 结构图 AbstractClass:抽象类。用来定义算法骨架和原语操作,具体的子类通过重定义这些原语操作来实现一个算法的各个步骤。在这个类里面,还可以提供算法中通用的实现。ConcreteClass:具体实现类。用来实现算法骨架中的某些步骤...原创 2016-01-23 21:01:38 · 109 阅读 · 0 评论 -
装饰模式Decorator
1. 定义动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。 2. 结构图 Component:组件对象的接口,可以给这些对象动态地添加职责。ConcreteComponent:具体的组件对象,实现组件对象接口,通常就是被装饰器装饰的原始对象,也就是可以给这个对象添加职责。Decorator:所有装饰器的抽象父类,需要定义一个与组件接口一致的接口,并持有一...原创 2016-01-23 20:42:17 · 56 阅读 · 0 评论 -
观察者模式Observer
1. 定义定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 2. 结构图 Subject:目标对象,通常具有如下功能。 一个目标可以被多个观察者观察。 目标提供对观察者注册和退订的维护。 当目标的状态发生变化时,目标负责通知所有注册的、有效的观察者。Observer:定义观察者的接口,提供目标通知时对应的更新方法...原创 2016-01-23 19:26:34 · 64 阅读 · 0 评论 -
代理模式Proxy
1. 定义为其他对象提供一种代理以控制这个对象的访问。 2. 结构图 Proxy:代理对象。通常具有如下功能。 实现与具体的目标对象一样的接口,这样就可以使用代理来代替具体的目标对象。 保存一个指向具体目标对象的引用,可以在需要的时候调用具体的目标对象。 可以控制对具体目标对象的访问,并可以负责创建和删除它。Subject:目标接口,定义代理和具体目标对...原创 2016-01-23 15:36:12 · 198 阅读 · 0 评论 -
策略模式Strategy
1. 定义 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 2.结构图 Strategy:策略接口,用来约束一系列具体的策略算法。Context使用这个接口来调用具体的策略实现定义的算法。ConcreteStrategy:具体的策略实现,也就是具体的算法实现。Context:上下文,负责和具体的策略类交互。通常上下文会...原创 2016-01-23 15:04:12 · 68 阅读 · 0 评论 -
生成器模式Builder
1. 定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2. 结构图Builder:生成器接口,定义创建一个Product对象所需的各个部件的操作。ConcreteBuilder:具体的生成器实现,实现各个部件的创建,并负责组装Product对象的各个部件,同时还提供一个让用户获取组装完成后的产品对象的方法。Director:指导者,也被称为导向者,主要用来...原创 2016-01-25 13:58:32 · 131 阅读 · 0 评论