设计模式(Design Patterns)是软件开发多年发展总结出来的针对特定问题的通用解决方案,根据不同的用途可以将这些设计模式分为创建型设计模式、结构型设计模式和行为型设计模式这三大类,正确的使用设计模式可以提高项目的扩展性和可维护性。
单例模式是开发中经常用到的一个设计模式,也是最容易理解的设计模式,它的主要目的是限制类的实例化,保证该类在Java虚拟机中只有一个实例存在
工厂方法模式还比较好理解,它主要用于当一个功能有多种实现方案,而我们需要根据参数使用其中一种实现方案的场景下
抽象工厂模式和前面介绍工厂方法模式很相似,但是它比工厂方法模式的扩展性要更好
生成器模式又称为建造者模式,主要用于创建复杂的对象,这类对象通常有许多属性,通过生成器模式,我们可以把创建对象这个过程抽象出来分为多个步骤
原型模式指的是从目前已经有的实例复制出一个新的实例,主要用于一些对象的创建过程比较耗时的情况
适配器模式是一种结构型设计模式,主要用于抽象出一个中间层做转换工作,使得两个原本不相关或不兼容的接口共同工作
组合模式是将一系列相同类型的对象组合在一起,然后把它当作单个对象一样使用。如果在开发中,我们总是对同一接口的不同实例对象做相同的操作,那我们应该使用组合模式来简化调用
代理模式是指给目标对象创建一个和它提供一样接口的中间层,我们可以在这个中间层对请求进行预处理或者善后处理,这个中间层就叫做代理
享元模式是一种结构型设计模式,在实际开发中用的比较少,它主要用于重复利用对象来减少内存占用
外观模式是通过一个简单的接口将各种复杂子系统的功能封装起来,让它们使用起来更加容易,也可以减少调用者与个子系统之间的耦合
装饰模式主要用来动态扩展原来类的功能。对于面向对象编程,我们可以通过继承来扩展类的功能,但是有几种情况使用继承的方式却不一定好实现。
桥接模式主要是将拥有多维度的复杂接口按不同的维度拆分成多个简单的接口,然后通过组合的形式进行重新封装