GOF设计模式学习汇总表

最近整理以前的纸质学习笔记,将GOF的23种设计模式学习过程中的笔记以电子表格形式汇总。笔记已根据个人习惯精简。

当年学习设计模式的时候,将其中的factory Method、builder、bridge、Facade、command、iterator、strategy等模式套用到数据库对比的工具开发中,程序执行时间是原有类似功能的程序执行时间的三分之一,实践表明设计模式的合理应用能提高代码质量和效率。

创建型模式

名称

描述

备注

工厂(factory)

客户类和工厂类分开

switch

建造(builder)

将产品的内部表象和产品的生成过程分割开

复杂对象独立于组成

工厂方法(factory Method)

抽象工厂角色、子类

逻辑判断,类的创建型模式

原始模型(prototype)

原型对象复制,适任何等级结构,每个类必须匹配一个克隆方法

 

单例(singleton)

确保某一个类只有一个实例

 

结构型模式

名称

描述

备注

适配器(adapter)

接口转换使匹配2个类

 

桥梁(bridge)

将抽象化与实现化脱耦,使2者可独立变化

多角度分类,统一使用所有对象

合成(composite)

将对象组织到树结构中,描述整体与部分的关系

层次

装饰(decorator)

以对客户端透明的方式扩展对象的功能,继承

 

门面(Facade)

子系统通过统一的门面与外部通信

提供一个高层次的接口,使得子系统更易于使用

1、三层架构;2、多子类;

3、遗留大型系统

享元(flyweight)

共享,内蕴,工厂对象创建被共享的对象

 

代理(proxy)

中介

远程、虚拟、安全

行为模式

名称

描述

备注

责任链(chain of responsiblity)

请求在链上传递直到某一对象决定处理此请求

 

命令(command)

发出命令的责任和执行命令的责任分割开,委派给不同对象

撤销/恢复操作

解释器(interpreter)

需定义一系列的组合规则

 

迭代子模式(iterator)

顺序访问聚集中的元素

多种遍历方式,数据库操作

调停者(mediator)

包装一系列对象相互作用的方式,松散耦合

集中控制

备忘录(memento)

存储另外一个对象内部状态的快照的对象

状态复原

观察者(observer)

1:n 让多个观察者对象同时监听某一主题对象

 

状态(state)

允许一个对象在其内部状态改变的时候改变行为   子类

 

策略(strategy)

算法,行为和环境分开

互相替换

模板方法(template Method)

顶级逻辑框架,子类实现细节

算法骨架,步骤延迟到子类

访问者(visitor)

数据结构元素

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值