[Design Pattern] 设计模式0_概述

# 什么是设计模式

> 设计模式是前人对编程的总结。 在所谓前人栽树,后人乘凉,学习前人踩过的坑是提高自己编程实力的一个好途径。

# 为什么要学习设计模式

  原因大致如下:

  * 让自己写出更加高内聚,松耦合的代码

  * 让自己开发出“可维护,可拓展”的代码

  * 让自己以后快速入门一个API

  * 学习Spring的必备前置技能

# 如何学习设计模式

> 学习设计模式不可避免必然是知道现在主流设计模式的来源和种类。

现在主流的设计模式有23种,来源于GOF。

> GoF是其实书籍《Design Patterns:Elements of Reusable Object-Oriented Software》的四位大牛的缩写Gang of Four(四人帮)。这四个大牛分别为: Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。

学习设计模式的就是要学习,为什么会产生该种设计模式,这种设计模式是为了解决什么问题,该设计模式的UML类图是怎么样的?什么时候可以用这种设计模式。

# 设计模式内容一览

对接下来学习的设计模式,大纲为:

## 六大原则

六大原则是设计模式的总纲领,23种设计模式都遵循该六大原则:

* Open Closed Principle(开闭原则)

* Liskov Substitution Princple(LSP,里氏包换原则)

* Dependence Inversion Principle(依赖倒置原则)

* Interface Segregation Principle(接口隔离原则)

* Demeter Principle (迪米特法则 - 最少知道原则)

### 开闭原则

开闭原则说的是对拓展开发,对修改关闭。在程序需要进行拓展的时候,不能去修改原有代码,实现一个热插拔的效果。一句话概括:为了使程序的拓展性更好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。

### 里氏代换原则

里氏代替原则是面向对象设计的基本原则之一。里氏代替原则中说,任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,用衍生类才能够在基类的基础上增加新的行为。

### 依赖倒置原则

这个是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。

### 接口隔离原则

这个原则的意思是:使用多个隔离的接口,比使用单个接口更好。

### 最少知道原则

就是说:一个实体应当尽量少的于其他实体之间发生相互关系,使得系统功能模块相对独立。

### 合成复用原则

就是尽量少使用继承,多使用聚成和复核(这三者的概念分别是什么? 有什么区别)。

## 23中涉及模式及其分类

> 设计模式中总共有23种,按照某些标准还可以把他们分类。

| 分类   | 包含   | 备注   |

| :-----   | :-----   | :-----   |

|创建型模式 |   |    |

|结构型模式 |   |    |

|行为型模式 |   |    | 

猜你喜欢

转载自www.cnblogs.com/ylhong/p/11602970.html