博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
史上最全设计模式导学目录(完整版)转
阅读量:2351 次
发布时间:2019-05-10

本文共 3304 字,大约阅读时间需要 11 分钟。

 

转自: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系统中员工数据汇总的访问者模式解决方案

:访问者模式与组合模式联用,访问者模式总结

 

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

 

:创建型模式

:结构型模式

:行为型模式(上)

:行为型模式(下)

 

 

设计模式综合应用实例

 

多人联机射击游戏

 

:抽象工厂模式,建造者模式,工厂方法模式,迭代器模式,命令模式

:观察者模式,单例模式,状态模式,适配器模式

 

 

 

数据库同步系统

 

:数据库同步系统概述,建造者模式,简单工厂模式

:享元模式,单例模式,观察者模式,模板方法模式

:策略模式,组合模式,命令模式,职责链模式

你可能感兴趣的文章
阿里实习生面试——电面1
查看>>
保留小数点后两位
查看>>
js使用栈来实现10进制转8进制 js取除数 余数
查看>>
myeclipse 红色叹号的原因
查看>>
前端那些事儿——中文乱码,网页中文乱码,网页乱码,块元素,内联元素
查看>>
XML与HTML区别,XML解析
查看>>
http请求(get 和 post 请求)与响应
查看>>
jsp、el、jstl——前端面试
查看>>
java IO流
查看>>
Column count doesn't match value count at row 1
查看>>
页面优化——js异步加载
查看>>
CSS3渐变
查看>>
CSS实现居中的7种方法
查看>>
Charles拦截不到请求
查看>>
gitlab/github 多账户下设置 ssh keys
查看>>
Mac版 charles安装与破解
查看>>
keydown、keypress、keyup的使用
查看>>
区块链是否做好了迎接法币的准备?为什么银行如此看好加密货币?
查看>>
加密货币--Cryptocurrency
查看>>
Myeclipse的不足之一,struts 配置 action
查看>>