设计模式是什么?(学习要求:知道每一种模式的结构图)

      之前,朋友一直和我提起设计模式,于是,我就开始在网上搜索一些关于设计模式的资料,简单的看了工厂模式(主要想开发一个数据库抽象层),觉得里面提到的思想蛮好的,可以解决很多我一直都在犯的错误,所以,决定好好学习设计模式。

某日,去读书馆还借了一个假期的书,随便看看读书馆是否有关于设计模式这类书籍可借,运气蛮好的学校还有这样的书籍,最终,选择了由精华大学出版社出版的《研磨设计模式》。

好了,就不扯了,回到主题吧,那设计模式到底是什么东西?书上原话“设计模式是经过验证的,用于解决在特定环境下、重复出现的、特定问题的解决方案。”说白了,其实就是类似于我们在数学中的学习的公式(公式是经前辈们验证过的,用于解决在某种情况下的某种问题,这样的问题书中、试卷里是经常出现的)。

1.设计模式有什么?(打个不太恰当的比喻:一元二次求根公式)

模式名称(就是我们的公式名称一样,例如:求根公式)

环境和问题(一元二次方程,求根)

解决方案(就是求根公式的使用)

效果(比较好的,只要是一元二次方程都可以用该公式求根)

以上也是设计模式的四要素。

2.设计模式的分类?

创建型模式:抽象了对象实例化的过程,用来帮助创建对象的实例。(我认为这是实现面向接口编程的重要模式)

结构型模式:描述如何组合类和对象以获得更大的结构。

行为型模式:描述算法和对象间职责的分配。

常用设计模式一览表

类型

模式名称

学习难度

使用频率

创建型模式

Creational Pattern

单例模式

Singleton Pattern

★☆☆☆☆

★★★★☆

简单工厂模式

Simple Factory Pattern

★★☆☆☆

★★★☆☆

工厂方法模式

Factory Method Pattern

★★☆☆☆

★★★★★

抽象工厂模式

Abstract  Factory Pattern

★★★★☆

★★★★★

原型模式

Prototype Pattern

★★★☆☆

★★★☆☆

建造者模式

Builder Pattern

★★★★☆

★★☆☆☆

结构型模式

Structural Pattern

适配器模式

Adapter Pattern

★★☆☆☆

★★★★☆

桥接模式

Bridge  Pattern

★★★☆☆

★★★☆☆

组合模式

Composite  Pattern

★★★☆☆

★★★★☆

装饰模式

Decorator  Pattern

★★★☆☆

★★★☆☆

外观模式

Façade  Pattern

★☆☆☆☆

★★★★★

享元模式

Flyweight  Pattern

★★★★☆

★☆☆☆☆

代理模式

Proxy  Pattern

★★★☆☆

★★★★☆

行为型模式

Behavioral Pattern

职责链模式

Chain  of Responsibility Pattern

★★★☆☆

★★☆☆☆

命令模式

Command  Pattern

★★★☆☆

★★★★☆

解释器模式

Interpreter  Pattern

★★★★★

★☆☆☆☆

迭代器模式

Iterator  Pattern

★★★☆☆

★★★★★

中介者模式

Mediator  Pattern

★★★☆☆

★★☆☆☆

备忘录模式

Memento  Pattern

★★☆☆☆

★★☆☆☆

观察者模式

Observer  Pattern

★★★☆☆

★★★★★

状态模式

State  Pattern

★★★☆☆

★★★☆☆

策略模式

Strategy  Pattern

★☆☆☆☆

★★★★☆

模板方法模式

Template  Method Pattern

★★☆☆☆

★★★☆☆

访问者模式

Visitor  Pattern

★★★★☆

★☆☆☆☆

【作者:刘伟 http://blog.csdn.net/lovelion

设计模式名称

讲解实例

练习实例

创建型模式——创建的艺术

单例模式

Windows任务管理器、负载均衡器

数据库连接池

简单工厂模式

图表库

几何图形绘图工具

工厂方法模式

日志记录器

图片读取器

抽象工厂模式

界面皮肤库

手机游戏软件

原型模式

OA系统工作周报、OA系统公文管理器

销售管理系统中的客户类

建造者模式

RPG网络游戏中的游戏角色

视频播放软件

结构型模式——组合的艺术

适配器模式

教务管理系统与算法库重用

OA系统加密模块

桥接模式

跨平台图像浏览系统

数据转换工具

组合模式

杀毒软件

界面控件库

装饰模式

图形界面构件库、OA系统文档处理

数据加密模块

外观模式

文件加密模块

智能手机控制与管理软件一键备份功能

享元模式

围棋软件

多功能文档编辑器

代理模式

收费商务信息查询系统、OA系统方法调用日志

网络图片查看器

行为型模式——交互的艺术

职责链模式

SCM系统之采购审批子系统

OA系统假条审批模块

命令模式

自定义功能键、简易计算器、网站配置文件管理工具

公告板系统

解释器模式

机器人控制程序、基于字符界面的格式化指令

数据库同步指令

迭代器模式

销售管理系统数据遍历

教务管理系统学生信息遍历、逐页迭代器

中介者模式

CRM系统客户信息管理窗口

图形界面类库

备忘录模式

中国象棋软件

RPG网游

观察者模式

多人联机对战游戏

自定义登录组件、实时在线股票软件

状态模式

银行系统、屏幕放大镜工具

纸牌游戏软件

策略模式

影院售票系统

飞机模拟系统

模板方法模式

银行业务支撑系统利息计算模块、销售管理系统数据图表显示功能

数据库操作模块

访问者模式

OA系统员工数据汇总

奖励审批系统



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值