一、六大设计原则(实际有七个)
设计原则具体内容请点击我的另一篇文章:设计模式之六大设计原则
二、设计模式的分类
注意:可以直接点击链接进入我对每个设计模式的详解!!!!!
1、创建型模式
创建型模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
创建型模式可细分为五种(点每个设计模式的链接可进入详解):
- 单例模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。
- 工厂模式:定义一个用于创建产品的接口,由子类决定生产什么产品。
- 建造者模式:将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成该复杂对象。
- 原型模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。
- 对象池模式:将对象预先创建并初始化后放入对象池中,可以在有需求时创建和销毁对象。
2、行为型模式
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。
行为型模式可以细分为十一种(暂未整理):
- 责任链模式
- 命令模式
- 解释器模式
- 迭代器模式
- 观察者模式
- 中介者模式
- 备忘录模式
- 状态模式
- 策略模式
- 模板方法模式
- 空对象模式(在《Java设计模式及实践》中也写了,因此这里大概介绍一下)
- 访问者模式
3、结构型模式
结构型模式利用对象和类之间的关系来创建复杂结构。大多数结构型模式都基于继承。
结构型模式可细分为七种(暂未整理):
- 适配器模式
- 代理模式
- 装饰器模式
- 桥接模式
- 组合模式
- 外观模式
- 享元模式