设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称「GoF设计模式」。
这 23 种设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类的关联关系和组合关系的充分理解。
当然,软件设计模式只是一个引导,在实际的软件开发中,必须根据具体的需求来选择:
- 对于简单的程序,可能写一个简单的算法要比引入某种设计模式更加容易;
- 但是对于大型项目开发或者框架设计,用设计模式来组织代码显然更好。
关于本教程
本教程虽然命名为“Java设计模式”,但是设计模式并不是 Java 的专利,它同样适用于 C++、C#、JavaScript 等其它面向对象的编程语言。
Java 是典型的面向对象的编程语言,所以本教程以 Java 为基础来讲解这 23 种设计模式,如果你不了解 Java,请猛击《Java教程》学习。
教程目录:
1. 软件设计模式概述
5. 类关系记忆技巧
7. 什么才是优秀的软件架构?
8. 如何正确使用设计模式?
10. 里氏替换原则——面向对象设计原则
11. 依赖倒置原则——面向对象设计原则
12. 单一职责原则——面向对象设计原则
13. 接口隔离原则——面向对象设计原则
14. 迪米特法则——面向对象设计原则
15. 合成复用原则——面向对象设计原则
16. 一句话总结软件设计七大原则
17. 创建型模式的特点和分类
18. 单例模式(单例设计模式)详解
19. 原型模式(原型设计模式)详解
20. 简单工厂模式
21. 工厂方法模式(详解版)
22. 抽象工厂模式(详解版)
24. 创建型模式应用实验
26. 代理模式(代理设计模式)详解
28. 桥接模式(Bridge模式)详解
29. 装饰器模式(装饰设计模式)详解
30. 外观模式(Facade模式)详解
31. 享元模式(详解版)
32. 组合模式(详解版)
33. 结构型模式应用实验
36. 策略模式(策略设计模式)详解
37. 命令模式(详解版)
38. 责任链模式(职责链模式)详解
39. 状态模式(详解版)
41. 中介者模式(详解版)
42. 迭代器模式(详解版)
44. 备忘录模式(详解版)
45. 解释器模式(详解版)
46. 行为型模式应用实验
47. 一句话归纳设计模式