转自于高人的文章:http://blog.csdn.net/lovelion/article/details/17517213

2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 +  简单工厂模式),为了方便大家学习,现将所有文章的链接进行了整理,希望能给各位带来帮助!

祝大家圣诞节快乐 花絮:本文的工作量大大超过之前的估计,几乎整个平安夜都花在它身上了,

基础知识

设计模式概述

从招式与内功谈起——设计模式概述(一):设计模式从何而来?

从招式与内功谈起——设计模式概述(二):设计模式是什么?

从招式与内功谈起——设计模式概述(三):设计模式有什么用?附:个人观点

面向对象设计原则

面向对象设计原则概述

面向对象设计原则之单一职责原则

面向对象设计原则之开闭原则

面向对象设计原则之里氏代换原则

面向对象设计原则之依赖倒转原则

面向对象设计原则之接口隔离原则

面向对象设计原则之合成复用原则

面向对象设计原则之迪米特法则

六个创建型模式

简单工厂模式-Simple Factory Pattern【学习难度:★★☆☆☆,使用频率:★★★☆☆】

工厂三兄弟之简单工厂模式(一):图表库的设计

工厂三兄弟之简单工厂模式(二):简单工厂模式概述

工厂三兄弟之简单工厂模式(三):图表库的简单工厂模式解决方案

工厂三兄弟之简单工厂模式(四):图表库解决方案的改进,简单工厂模式的简化,简单工厂模式总结

工厂方法模式-Factory Method Pattern【学习难度:★★☆☆☆,使用频率:★★★★★】

工厂三兄弟之工厂方法模式(一):日志记录器的设计

工厂三兄弟之工厂方法模式(二):工厂方法模式概述

工厂三兄弟之工厂方法模式(三):日志记录器的工厂方法模式解决方案,反射与配置文件

工厂三兄弟之工厂方法模式(四):重载的工厂方法,工厂方法的隐藏,工厂方法模式总结

抽象工厂模式-Abstract  Factory Pattern【学习难度:★★★★☆,使用频率:★★★★★】

工厂三兄弟之抽象工厂模式(一):界面皮肤库的初始设计

工厂三兄弟之抽象工厂模式(二):产品等级结构与产品族

工厂三兄弟之抽象工厂模式(三):抽象工厂模式概述

工厂三兄弟之抽象工厂模式(四):界面皮肤库的抽象工厂模式解决方案

工厂三兄弟之抽象工厂模式(五):“开闭原则”的倾斜性,抽象工厂模式总结

单例模式-Singleton Pattern【学习难度:★☆☆☆☆,使用频率:★★★★☆】

确保对象的唯一性——单例模式 (一):单例模式的动机,单例模式概述

确保对象的唯一性——单例模式 (二):负载均衡器的设计与实现

确保对象的唯一性——单例模式 (三):饿汉式单例与懒汉式单例的讨论

确保对象的唯一性——单例模式 (四):一种更好的单例实现方法(静态内部类)

确保对象的唯一性——单例模式 (五):单例模式总结

原型模式-Prototype Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】

对象的克隆——原型模式(一):大同小异的工作周报,原型模式概述

对象的克隆——原型模式(二):工作周报的原型模式解决方案

对象的克隆——原型模式(三):带附件的周报【浅克隆,深克隆】

对象的克隆——原型模式(四):原型管理器的引入和实现,原型模式总结

建造者模式-Builder Pattern【学习难度:★★★★☆,使用频率:★★☆☆☆】

复杂对象的组装与创建——建造者模式(一):游戏角色设计,建造者模式概述

复杂对象的组装与创建——建造者模式(二):游戏角色设计的建造者模式解决方案

复杂对象的组装与创建——建造者模式(三):关于Director的进一步讨论,建造者模式总结

七个结构型模式

适配器模式-Adapter Pattern【学习难度:★★☆☆☆,使用频率:★★★★☆】

不兼容结构的协调——适配器模式(一):没有源码的算法库,适配器模式概述

不兼容结构的协调——适配器模式(二):没有源码的算法库的适配器模式解决方案

不兼容结构的协调——适配器模式(三):类适配器,双向适配器

不兼容结构的协调——适配器模式(四):缺省适配器,适配器模式总结

桥接模式-Bridge Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆

处理多维度变化——桥接模式(一):跨平台图像浏览系统

处理多维度变化——桥接模式(二):桥接模式概述

处理多维度变化——桥接模式(三):跨平台图像浏览系统的桥接模式解决方案

处理多维度变化——桥接模式(四):适配器模式与桥接模式的联用,桥接模式总结


组合模式-Composite Pattern【学习难度:★★★☆☆,使用频率:★★★★☆】

树形结构的处理——组合模式(一):设计杀毒软件的框架结构

树形结构的处理——组合模式(二):组合模式概述

树形结构的处理——组合模式(三):杀毒软件的框架结构的组合模式解决方案

树形结构的处理——组合模式(四):透明组合模式与安全组合模式

树形结构的处理——组合模式(五):公司组织结构,组合模式总结


装饰模式-Decorator Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】

扩展系统功能——装饰模式(一):图形界面构件库的设计

扩展系统功能——装饰模式(二):装饰模式概述

扩展系统功能——装饰模式(三):图形界面构件库的装饰模式解决方案

扩展系统功能——装饰模式(四):透明装饰模式与半透明装饰模式,装饰模式注意事项,装饰模式总结


外观模式-Facade Pattern【学习难度:★☆☆☆☆,使用频率:★★★★★】

深入浅出外观模式(一):外观模式概述,外观模式结构与实现

深入浅出外观模式(二):外观模式应用实例(文件加密模块)

深入浅出外观模式(三):抽象外观类,外观模式效果与适用场景


享元模式-Flyweight Pattern【学习难度:★★★★☆,使用频率:★☆☆☆☆】

实现对象的复用——享元模式(一):围棋棋子的设计,享元模式概述(上)

实现对象的复用——享元模式(二):享元模式概述(下)

实现对象的复用——享元模式(三):围棋棋子的享元模式解决方案

实现对象的复用——享元模式(四):带外部状态的围棋棋子解决方案

实现对象的复用——享元模式(五):单纯享元模式和复合享元模式,关于享元模式的几点补充,享元模式总结


代理模式-Proxy Pattern【学习难度:★★★☆☆,使用频率:★★★★☆】

代理模式(一):代理模式概述,代理模式结构与实现

代理模式(二):代理模式应用实例(收费商务信息查询系统)

代理模式(三):远程代理,虚拟代理,缓冲代理

代理模式(四):代理模式效果与适用场景

十一个行为型模式

职责链模式-Chain of Responsibility Pattern【学习难度:★★★☆☆,使用频率:★★☆☆☆】

请求的链式处理——职责链模式(一):采购单的分级审批

请求的链式处理——职责链模式(二):职责链模式概述

请求的链式处理——职责链模式(三):采购单分级审批的职责链模式解决方案

请求的链式处理——职责链模式(四):纯与不纯的职责链模式,职责链模式总结


命令模式-Command Pattern【学习难度:★★★☆☆,使用频率:★★★★☆

请求发送者与接收者解耦——命令模式(一):自定义功能键,命令模式概述

请求发送者与接收者解耦——命令模式(二):自定义功能键的命令模式解决方案

请求发送者与接收者解耦——命令模式(三):命令队列的实现

请求发送者与接收者解耦——命令模式(四):撤销操作的简单实现

请求发送者与接收者解耦——命令模式(五):请求日志

请求发送者与接收者解耦——命令模式(六):宏命令,命令模式总结

解释器模式-Interpreter Pattern【学习难度:★★★★★,使用频率:★☆☆☆☆】

自定义语言的实现——解释器模式(一):机器人控制程序

自定义语言的实现——解释器模式(二):文法规则和抽象语法树

自定义语言的实现——解释器模式(三):解释器模式概述

自定义语言的实现——解释器模式(四):机器人控制程序的解释器模式解决方案

自定义语言的实现——解释器模式(五):再谈Context的作用

自定义语言的实现——解释器模式(六):解释器模式总结


迭代器模式-Iterator Pattern【学习难度:★★★☆☆,使用频率:★★★★★】

遍历聚合对象中的元素——迭代器模式(一):销售管理系统中数据的遍历

遍历聚合对象中的元素——迭代器模式(二):迭代器模式概述

遍历聚合对象中的元素——迭代器模式(三):销售管理系统中数据的遍历的迭代器模式解决方案

遍历聚合对象中的元素——迭代器模式(四):使用内部类实现迭代器

遍历聚合对象中的元素——迭代器模式(五):JDK内置迭代器的使用

遍历聚合对象中的元素——迭代器模式(六):迭代器模式总结

中介者模式-Mediator Pattern【学习难度:★★★☆☆,使用频率:★★☆☆☆】

协调多个对象之间的交互——中介者模式(一):客户信息管理窗口的初始设计

协调多个对象之间的交互——中介者模式(二):中介者模式概述

协调多个对象之间的交互——中介者模式(三):客户信息管理窗口的中介者模式解决方案

协调多个对象之间的交互——中介者模式(四):中介者与同事类的扩展

协调多个对象之间的交互——中介者模式(五):中介者模式总结

备忘录模式-Memento Pattern【学习难度:★★☆☆☆,使用频率:★★☆☆☆】

撤销功能的实现——备忘录模式(一):可悔棋的中国象棋

撤销功能的实现——备忘录模式(二):备忘录模式概述

撤销功能的实现——备忘录模式(三):中国象棋的备忘录模式解决方案

撤销功能的实现——备忘录模式(四):实现多次撤销

撤销功能的实现——备忘录模式(五):再谈备忘录的封装,备忘录模式总结


观察者模式-Observer Pattern【学习难度:★★★☆☆,使用频率:★★★★★】

对象间的联动——观察者模式(一):多人联机对战游戏的设计

对象间的联动——观察者模式(二):观察者模式概述

对象间的联动——观察者模式(三):多人联机对战游戏的观察者模式解决方案

对象间的联动——观察者模式(四):JDK对观察者模式的支持

对象间的联动——观察者模式(五):观察者模式与Java事件处理

对象间的联动——观察者模式(六):观察者模式与MVC,观察者模式总结

状态模式-State Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】

处理对象的多种状态及其相互转换——状态模式(一):银行系统中的账户类设计

处理对象的多种状态及其相互转换——状态模式(二):状态模式概述

处理对象的多种状态及其相互转换——状态模式(三):账户类的状态模式解决方案

处理对象的多种状态及其相互转换——状态模式(四):共享状态的实现

处理对象的多种状态及其相互转换——状态模式(五):使用环境类实现状态转换

处理对象的多种状态及其相互转换——状态模式(六):状态模式总结

策略模式-Strategy Pattern【学习难度:★☆☆☆☆,使用频率:★★★★☆】

算法的封装与切换——策略模式(一):电影票打折方案

算法的封装与切换——策略模式(二):策略模式概述

算法的封装与切换——策略模式(三):电影票打折方案的策略模式解决方案

算法的封装与切换——策略模式(四):策略模式的两个典型应用,策略模式总结

模板方法模式-Template Method Pattern【学习难度:★★☆☆☆,使用频率:★★★☆☆】

模板方法模式深度解析(一):模板方法模式概述,模板方法模式结构与实现

模板方法模式深度解析(二):模板方法模式应用实例(银行利息计算模块)

模板方法模式深度解析(三):钩子方法的使用,模板方法模式效果与适用场景

访问者模式-Visitor Pattern【学习难度:★★★★☆,使用频率:★☆☆☆☆】

操作复杂对象结构——访问者模式(一):OA系统中员工数据汇总

操作复杂对象结构——访问者模式(二):访问者模式概述

操作复杂对象结构——访问者模式(三):OA系统中员工数据汇总的访问者模式解决方案

操作复杂对象结构——访问者模式(四):访问者模式与组合模式联用,访问者模式总结


设计模式趣味学习(复习)

设计模式与足球(一):创建型模式

设计模式与足球(二):结构型模式

设计模式与足球(三):行为型模式(上)

设计模式与足球(四):行为型模式(下)


设计模式综合应用实例

多人联机射击游戏

多人联机射击游戏中的设计模式应用(一):抽象工厂模式,建造者模式,工厂方法模式,迭代器模式,命令模式

多人联机射击游戏中的设计模式应用(二):观察者模式,单例模式,状态模式,适配器模式

数据库同步系统

设计模式综合实例分析之数据库同步系统(一):数据库同步系统概述,建造者模式,简单工厂模式

设计模式综合实例分析之数据库同步系统(二):享元模式,单例模式,观察者模式,模板方法模式

设计模式综合实例分析之数据库同步系统(三):策略模式,组合模式,命令模式,职责链模式

友情提示:请尊重作者劳动成果,如需转载本博客文章请注明出处!谢谢合作!


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

DP:***24种设计模式--转自刘伟的更多相关文章

  1. Python七大原则,24种设计模式

    七大设计原则:1.单一职责原则[SINGLE RESPONSIBILITY PRINCIPLE]:一个类负责一项职责.2.里氏替换原则[LISKOV SUBSTITUTION PRINCIPLE]:继 ...

  2. [设计模式](转)Java中的24种设计模式与7大原则

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  3. 24种设计模式--迭代模式【Iterator Pattern】

    周五下午,我正在看技术网站,第六感官发觉有人在身后,扭头一看,我 C,老大站在背后,赶忙站起来,“王经理,你找我?” 我说. “哦,在看技术呀.有个事情找你谈一下,你到我办公室来一下.” 老大说. 到 ...

  4. 24种设计模式--模版方法模式【Template Method Pattern】

    周三,9:00,我刚刚坐到位置,打开电脑准备开始干活.“小三,小三,叫一下其它同事,到会议室,开会”老大跑过来吼,带着淫笑.还不等大家坐稳,老大就开讲了,“告诉大家一个好消息,昨天终于把牛叉模型公司的 ...

  5. c# 24种设计模式5原型模式(Prototype)

    前言 原型模式其实C# Object中已经提供了一个Clone( )方法,平时很少用到,最近读Retrofit源码时候看到有这种使用方式. 定义 原型模式就是在系统clone()标记的基础上,对Clo ...

  6. C#24种设计模式汇总

    创建型:6 01. 简单工厂模式 08. 工厂方法模式 09. 原型模式 13. 建造者模式 15. 抽象工厂模式 21. 单例模式 结构型:7 06. 装饰模式 07. 代理模式 12. 外观模式 ...

  7. Java中的24种设计模式与7大原则

    一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder patter ...

  8. 24种设计模式--中介者模式【Mediator Pattern】

    各位好,大家都是来自五湖四海,都要生存,于是都找了个靠山——公司,给你发薪水的地方,那公司就要想尽办法盈利赚钱,盈利方法则不尽相同,但是作为公司都有相同三个环节:采购.销售和库存,这个怎么说呢?比如一 ...

  9. 24种设计模式--访问者模式【Visitor Pattern】

    今天天气不错,绝对是晴空万里,骄阳似火呀,好,我们今天来讲访问者模式,我们在前面讲了组合模式和迭代器模式,通过组合模式我们能够把一个公司的人员组织机构树搭建起来,给管理带来非常大的便利,通过迭代器模式 ...

随机推荐

  1. charles修改下行参数

    1.charles抓包修改下行参数: 想要修改的手机展示展示信息页: 2.charle设置断点,在请求接口上一个上设置断点 菜单proxy->Breadkpoints Settings设置打开断 ...

  2. STL源码分析之第一级配置器

    前言 上一节我们分析了空间配置器对new的配置, 而STL将空间配置器分为了两级, 第一级是直接调用malloc分配空间, 调用free释放空间, 第二级三就是建立一个内存池, 小于128字节的申请都 ...

  3. MySQL 复制 - 性能与扩展性的基石:概述及其原理

    原文:MySQL 复制 - 性能与扩展性的基石:概述及其原理 1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他 ...

  4. ecshop 后台增加栏目

    ① 后台左侧导航添加菜单 Ecshop后台增加一个左侧列表菜单需要修改三个文件/admin/includes/inc_menu.php /admin/includes/inc_priv.php /la ...

  5. 【习题 4-3 UVA - 220】Othello

    [链接] 我是链接,点我呀:) [题意] [题解] legal被我打成leagal... 然后注意输出坐标的时候,格式是%2d.. 然后就没啥难的了.. [代码] #include <bits/ ...

  6. Orcale用户管理

    类 ------表 对象----行 属性----列 软件开发流程: 需求调研 需求分析 概要分析 详细分析 编码 测试 上线 维护 论坛: 1.注册和登录 2.发帖,回帖(关注,浏览数) 用户:(昵称 ...

  7. 0622通过插件的方式来热安装sphinx

    1.查看当前运行的mysql版本 mysqldump --version 我的Mysql版本5.5.32 2.下载对应的mysql 5.5.32 (版本号一定不能错,要不安装不成功)源码,并解压 下载 ...

  8. 【ACM】hdu_1004_Let the Balloon Rise

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  9. Dockerfile分离构建LNMP环境部署wordpress

    最近忙着写自己的项目,也把一个站点的bbs论坛打算迁移到Docker中,测试没发现啥大问题.在单台上面的架构如下:(往后我们也是要讲到compose和swarm调度的慢慢来) 1.首先我们先安装一下d ...

  10. String 经常用法最优算法实现总结 (一)

    <pre name="code" class="java"><span style="font-family: Arial, Hel ...