设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。
可复用性,可维护性,可读性,健壮性,安全性
1995年,GoF(Gang of Four,四人帮)合作出版《设计模式:可复用面向对象软件设计的基础》一书,共收录了23种设计模式,从此树立了软件设计模式领域的里程碑,人称【GoF设计模式】
-----来自于百度百科
在系统架构以及编程过程中,都会受到设计模式思想的影响。常用的有工厂模式,抽象工厂模式,单例模式,适配器模式等。工作时间越长,就越会发现设计模式在代码中无处不在。
一、在设计模式中,一般遵循以下设计模式原则:
1.单一职责原则 (Single Responsibility Principle)
2.开放-关闭原则 (Open-Closed Principle)
3.里氏替换原则 (Liskov Substitution Principle)
4.依赖倒转原则 (Dependence Inversion Principle)
5.接口隔离原则 (Interface Segregation Principle)
6.迪米特法则(Law Of Demeter)
7.组合/聚合复用原则 (Composite/Aggregate Reuse Principle)
二、设计模式按照不同维度可以分为两类:
第一类是按照目的来分:
1.创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。
2.结构型模式:用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模式。
3.行为型模式:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。GoF 中提供了模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器等 11 种行为型模式。
第二类是按照作用范围来分:
主要用于类上还是主要用于对象上来分
1.类模式:用于处理类与子类之间的关系,这些关系通过继承来建立,是静态的,在编译时刻便确定下来了。GoF中的工厂方法、(类)适配器、模板方法、解释器属于该模式。
2.对象模式:用于处理对象之间的关系,这些关系可以通过组合或聚合来实现,在运行时刻是可以变化的,更具动态性。GoF 中除了以上 4 种,其他的都是对象模式。
接下来,将具体介绍设计模式原则以及设计模式~