结构模式(7种)
适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
1.适配器模式(常用,需要掌握)
定义: 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。
主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。
适配器模式:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器。
类适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。
对象适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Wrapper类,持有原类的一个实例,在Wrapper类的方法中,调用实例的方法就行。
接口适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个抽象类Wrapper,实现所有方法,我们写别的类的时候,继承抽象类即可。
2.装饰者模式(不常用,了解即可)
定义:动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性。
3.代理模式**(常用,需要掌握)**
代理模式的含义:使用代理对象来代替对真实对象的访问。
定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。
作用是:可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。
- 静态代理 2. 动态代理
区别是否需要实现接口(动态不需要)
4 外观模式(不常用,了解即可)
定义: 隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。
5 桥接模式(不常用,了解即可)
定义: 将抽象部分与它的实现部分分离,使它们都可以独立地变化。
6 组合模式(不常用,了解即可)
定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示"部分-整体"的关系,使用户对单个对象和组合对象具有一致的访问性。
7 享元模式(不常用,了解即可)
定义:通过共享的方式高效的支持大量细粒度的对象。
主要解决:在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。