## `Java`中都有哪些设计模式？

很多人都说一共有 23 种设计模式，但是我们根据设计模式的定义来看，我认为`MVC`也是一种设计模式，所以，在强调了只要是基于原生、前辈们经验总结下来的设计思想，都可以说是一种设计模式。

**常见的设计模式有：**

1. 工厂模式

   > 创建一个工厂，用于创建对象。
   > 目的：将对象的创建与使用分离，可以避免在代码中重复写对象创建的代码。

2. 模板方法模式

   > 抽出公共方法，然后复用

3. 装饰器模式

   > 继承，然后添加新的功能就叫装饰器

4. 享元模式

5. 适配器模式

   > 将一个类的接口换成客户端希望的立一个接口，可以是原不兼容的类被使用。

6. 单例模式

   > 确保类只有一个实例，并只提供一个全局访问点。