设计模式

171 阅读2分钟
  • 1 单例模式Singleton
  • 2 原型模式Prototype
  • 3 工厂方法模式FactoryMethod
  • 4 抽象工厂模式AbstractFactory
  • 5 建造者模式Builder
  • 6 代理模式Proxy
  • 7 适配器模式Adaptor
  • 8 装饰模式Decorator
  • 9 外观模式Facade
  • 10 模版方法Template
  • 11 责任链模式Responsibility
  • 12 观察者模式Observer

单例(Singleton)模式: 指一个类只有一个实例,且该类能自行创建这个实例的一种模式。

原型(Prototype)模式: 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。

工厂方法(FactoryMethod)模式: 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。

抽象工厂(AbstractFactory)模式: 为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。

建造者(Builder)模式 将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。

代理模式: 由于某些原因需要给某对象提供一个代理以控制对该对象的访问。

适配器模式(Adapter):

将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,

装饰(Decorator)模式: 指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。

外观(Facade)模式: 通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。

模板方法(Template Method)模式:

定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。

责任链(Chain of Responsibility)模式: 为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;

观察者(Observer)模式:

指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

应用:Spring事件驱动模型 1-ApplicationEvent事件, 2-ApplicationEventPublisher 3-ApplicationListener