![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
结构型模式
文章平均质量分 72
木易不是楊
这个作者很懒,什么都没留下…
展开
-
组合模式 Composite Pattern
一、模式介绍1.1、定义也叫整体-部分(Part-Whole)模式,将一组对象组织成树形结构,以表示一种整体-部分的层次结构。组合让客户端可以统一单个对象和组合对象的处理逻辑。客户端代指代码的使用者。组合模式一般用来描述整体与部分的关系,它将对象组织到树形结构中,顶层节点被称为根节点,根节点下面可以包含树枝节点和叶子节点,树枝节点下面又可以包含树枝节点和叶子节点。从图中可以看出,根节点和树枝节点本质上属于同一种数据类型,可以作为容器使用;而叶子节点与树枝节点在语义上不属于同一种类型。但是在组合模式原创 2022-02-15 22:20:18 · 257 阅读 · 0 评论 -
享元模式 Flyweight Pattern
一、模式介绍1.1、定义运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提供系统资源的利用率。享元模式的定义提出了两个要求,细粒度和共享对象。因为要求细粒度,所以不可避免地会是对象数量多且性质相近,此时我们就将这些对象的信息分为两个部分:内部状态和外部状态内部状态指对象共享出来的信息,存储在享元信息内部,并且不会随环境的改变而改变外部状态指对象得以依赖的一个标记,随环境的改变而改变,不可共享比如,连接池中的连接对原创 2022-02-14 23:12:15 · 238 阅读 · 0 评论 -
桥接模式 Bridge Pattern
一、模式介绍1.1、定义将抽象与实现分离,使它们可以独立变化。另一种里定义:一个类存在两个(或多个)独立变化的维度,我们通过组合的方式,让这两个(或多个)维度可以独立进行扩展。通过组合关系来替代继承关系,避免继承层次的指数级爆炸,从而降低了抽象和实现这两个可变维度的耦合度。1.2、优点抽象与实现分离,扩展能力强符合开闭原则符合合成复用原则其实现细节对客户透明1.3、缺点由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正确地识别出系统中两个独立变化的维度,这增加了系统的原创 2022-02-14 21:23:20 · 248 阅读 · 0 评论 -
外观模式 Facade Pattern
一、模式介绍适配器是做接口转换,解决的是原接口和目标接口不匹配的问题;外观模式做接口整合,解决的是多接口调用带来的问题。1.1、定义外观(Facade)模式又称门面模式,为子系统提供一组统一的接口,定义一组高层接口让子系统更加易用。该模式对外有一个统一的接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。1.2、优点降低了子系统与客户端之后的耦合度,使得子系统的变化不会影响调用它的客户类对客户屏蔽了子系统组件,减少了客户处理的对象数目,并使得子原创 2022-02-14 08:19:50 · 77 阅读 · 0 评论 -
装饰者模式 Decorator Pattern
一、定义装饰者模式定义:在不改变现有对象结构的情况下,动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。它是对象结构型模式。二、模式的结构与实现1. 模式的结构装饰模式主要包含以下角色。抽象组件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。具体组件(ConcreteComponent)角色:实现抽象组件,可以动态地对具体组件...原创 2019-06-05 23:42:58 · 186 阅读 · 0 评论 -
适配器模式 Adapter Pattern
一、模式介绍1.1、定义将一个类的接口,转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式为分为类结构型模式和对象结构模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。1.2、优点客户端通过适配器可以透明地调用目标接口复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类将目标类和适配者类解耦,解决了目标类和适配者类接口不一致的问题符合开闭原则1.3、缺点适配器编写过程,需原创 2022-02-13 22:12:33 · 265 阅读 · 0 评论 -
代理模式 Proxy Pattern
一、模式介绍1.1、定义代理模式为另一个对象提供一个替身或占位符,以控制对这个对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。使用代理模式创建代理对象,让代理对象控制目标对象(被代理的对象)的访问。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。1.2、优点代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用代理对象可以扩展目标对象的功能, 如:Spring AOP 增强代理模式能将客户端与目标对象分离,在一原创 2022-02-13 16:28:53 · 67 阅读 · 0 评论