一、创建型设计模式 指导我们解决创建对象的方面的需求和问题。 二、结构型设计模式 指导我们设计程序结构,也就是如何把对象或者类更好的组合成复杂的结构。 三、行为型设计模式 指导我们如何组织对象的行为,划分对象职责和规划交流模式。 四、技巧型 一些特定的技巧,优化代码。