java设计模式简介

Adaptor:在用户和原有设计之间增加一个接口,用以隔离
Decorator:继承(或委派)基础实现类,override父类方法,用super的delegation实现基础功能实现(调用基础实现类的同名方法),再自行添加个性化内容。
Façade:用一个接口整合所有与用户直接接轨的接口(临时delegation)
Strategy:一个接口存在多个实现类,调用方法(输入参数为接口)时传入具体实现类,以满足更改策略的需求。
Template:override大函数中调用的函数,在不改变整体流程的情况下改变具体内容。
Iterator:类似collection功能的类继承Iterable接口,复写iterator方法,返回自己创建的Iterator子类(要被遍历的类)
Factory:建立工厂类,根据用户输入返回接口的某一实现类。可以隐藏具体的创建类型。
Abstract Factory:基本同Factory模式,不同的是抽象工厂返回的是一个产品族(往往使用辅助类完成)。个人理解就是多个工厂的整合,返回一个programmer设定好的实现类搭配。
Builder:就是在返回一个实现类的基础上,增加了一些属性设定。具体的构造细节被封装。
Bridge:基本同strategy,不同的就是把delegate到的那个类存储到本类中,永久组合。而strategy只是为了动态传入算法,侧重点不同。
Proxy(防火墙):与实现类继承同一个父类,代替实现类交给client,具体功能delegate,目的就是隔离。另外,有时实现类的构造代价大,也可以增加一个“代理”(存有实现类),只有在需要delegation的时候,才进行构造。
Composite:用继承的方式在同类型对象之间分出上下层
Observer: “偶像”状态更新时可以对“粉丝”发出通知,粉丝作出反应
Visitor:实现一个在某类外部观察该类,并处理相关数据的类。目的是将来在不改变ADT的情况下,就可以完成其他功能。
Mediator:将需要互相传递消息的类集中在mediator中,需要传递消息时调用其中的send方法,方法中实现对应该消息,各类的反应。
Command:建立多个command类对应client可能会使用的操作。每个command类内只有一个“执行”方法,不同的command类delegate给实现类做不同的操作。
State:建立多个状态类,根据不同的状态,将操作delegate给不同的类。
Memento:一个memento类记录某个类的一个状态,caretaker管理mementos,可以提供查询和恢复操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值