一句话描述 Java 设计模式

55 阅读3分钟

Java 设计模式

 

设计模式是对应于不同的应用目的的。

 

适配: 将特定功能接口适配需求方

 

桥接: 面向两个接口,无关接口的实现; 抽象化与实现化解耦,使得二者可以独立变化;例:笔与图形,笔可以画图形,笔可以有铅笔,圆珠笔等,图形可以有圆形,方形等;Eclipse 平台上的桥接模式

 

工厂: 定义一个用于创建对象的接口,让子类决定实例化哪个类,是一个类的实例化延迟到其子类。

 

抽象工厂: 为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。为了让相互依赖的接口共同协作;类比桥接;汽车厂包含生产轿车品类,生产卡车品类,生产跑车品类不同生产线;开发不同平台的软件等

 

外观: 为一组接口定义个一个更高层的统一接口,隐藏系统复杂性

 

状态: 目的---消除庞大的条件分支语句;原理---将特定状态相关的行为都放入一个对象中,通过定义不同的子类可以自由的增加新的状态和转换;应用---对象的行为取决于状态,在运行时刻根据状态改变行为。

 

装饰: 动态的添加功能

 

中介: 用一个中介对象封装一系列的对象交互。避免显示的相互引用,耦合松散。

 

备忘录: 不破坏封装的前提下在外部保存对象的状态

 

代理: 为其它对象提供一个代理,以控制对着个对象的访问

 

原型: 由一个对象创建另一个可定制对象,且不需要知道中间的任何细节。

 

建造者: 使用多个简单的对象一步一步构建成一个复杂的对象;各种builder,SessionFactoryBuilder http等

 

命令: 将请求封装为对象。 将命令的执行和责任分开

 

职责链: struts action链, filter chain

 

解释器: jvm

 

访问者: 商品购物车 

 

策略模式: 将易于变化的部分封装为接口,通常Strategy 封装一些运算法则,使之能互换;如实现排序的多种策略方法。

 

组合模式(整体部分): 以树的形式组合对象。xml解析。 组合模式使得用户对单个对象和组合对象的使用具有一致性。 客户程序与复杂元素的内部结构解耦

 

观察者: 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。订阅新闻。

 

享元: 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。 主要用于减少创建对象的数量,以减少内存占用和提高性能;共享池,数据库连接池;string

 

项目实例:github.com/windwant/wi…