设计模式是什么?
设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。
设计模式解决的问题是什么?
Christopher Alexander: “每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案核心。这样,你就能一次一次地使用该方案而不必做重复劳动”。
在抽象层面上对解决方案核心进行归纳总结用来构造可复用的面向对象设计。
设计模式体系组成
设计模式种类划分准则为目的和范围。根据目的可分为创建型、结构型和行为型;根据范围可分为作用于类或者对象。目前主流的设计模式为上图所示23种。