设计模式-结构型模式总结

结构型模式主要处理类或对象的组合,关注于如何将现有类或对象组织在一起形成更大的结构。

适配器模式

将一个类的接口转换成客户希望的另外一个接口,使原本不能一起工作的类可以一起工作。

适配器模式属于补偿机制,专门用来在系统后期扩展的,因此,在系统刚开始设计时应尽量避免使用。

代理模式

为其他对象提供一种代理以控制对这个对象的访问。

目的

  1. 在不改变原有代码的基础上,对原有类加以控制;
  2. 访问由于某种原因不能直接访问或者直接访问困难的第三方组件或中间件。

代理模式和适配器模式都是连接两个类之间的桥梁,但适配器模式面向的是不能一起工作的两个类,而代理模式是面向原本可以一起工作的两个类。

外观模式

为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

目的

  1. 为一个复杂的模块或子系统提供一个一致的外界访问接口,降低客户端访问子系统的复杂度。
  2. 使客户端与子系统之间解耦,让子系统内部模块更易维护和扩展。
  3. 进行访问控制,提高系统安全性。
  4. 维护大型遗留系统。

外观模式跟代理模式的主要区别就在于外观模式强调的是对多个子系统的业务整合,如果外观模式里只有一个子系统,就退化成代理模式了。

装饰器模式

动态地给一个对象增加一些额外的职责。

桥接模式

桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。

目的

让子类能在多个维度上自由扩展。

组合模式

将对象组合成树形结构以表示“部分-整体”的层次结构,使得对单个对象和组合对象的使用具有一致性。

享元模式

运用共享技术有效地支持大量细粒度的对象。

目的

  • 减少创建对象的数量;
  • 对象全局共享。
(0)

相关推荐

  • 设计模式-外观模式

    定义 为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 为了方便理解,我们可以看看下图,左边是未使用外观模式时,外部客户端直接调用企业中的各个子 ...

  • 无废话设计模式(10)结构型模式--外观模式

    0-前言 外观模式定义:为子系统中的一组接口提供一个一致的界面,此模式定了一个高层接口    这一接口使得这一子系统更加容易使用: 1-实现 1-1.简单UML图: 1-2.代码实现 //1.子系统A ...

  • 技术图文:03 结构型设计模式(上)

    结构型设计模式(上) 本教程主要介绍一系列用于如何将现有类或对象组合在一起形成更加强大结构的经验总结. 知识结构: 图1 知识结构 享元模式 -- 实现对象的复用 Sunny 软件公司欲开发一个围棋软 ...

  • 结构型设计模式总结

    Intro 前面几篇文章已经介绍完了所有的结构型设计模式,来做一个总结 结构型设计模式主要总结了一些类或对象组合在一起的经典结构,这些经典的结构可以解决一些特定应用场景的问题. 结构型模式包括:代理模 ...

  • JAVA面向对象程序设计之结构型&行为型设计模式

    https://www.shengchulai.com/blog-SG6zA2vFeR.htm 1 结构型模式介绍 结构型模式描述如何组织类和对象以组成更大的结构.结构型类模式采用继承机制来组合接口和 ...

  • 无废话设计模式(11)结构型模式--代理模式

    0-前言 代理模式定义:为其他对象提供一种代理以控制对这个对象的访问. 1-实现 1-1.简单UML图: 1-2.代码实现 //1.抽象父类 abstract class Actor { public ...

  • 无废话设计模式(9)结构型模式--享元模式

    0-前言 享元模式定义:运用共享技术有效地支持大量细粒度的对象. 1-实现 1-1.简单UML图:  1-2.代码实现 //1.抽象父类(网站父类) abstract class Website { ...

  • 设计模式-结构型-装饰者模式

    装饰者模式(wrapper): 允许向一个现有的对象添加新的功能,同时又不改变其结构.装饰器模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能.使用对象的关联关系代替继承关系,更加 ...

  • 设计模式-结构型-桥接模式

    桥接模式(Bridge): 桥接是用于把抽象化与实现化解耦,使得两者可以独立变化. 桥接模式的角色: 1)抽象化角色(Abstraction):它是用于定义抽象接口,通常是抽象类而不是接口,其中定义了 ...

  • 结构型模式之组合模式

    在现实生活中,存在很多"部分-整体"的关系,例如,大学中的部门与学院.总公司中的部门与分公司.学习用品中的书与书包.生活用品中的衣月艮与衣柜以及厨房中的锅碗瓢盆等. 在软件开发中也 ...

  • 结构型模式之享元模式

    在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题.创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈.例如,围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网 ...

  • 结构型模式之代理模式

    在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象. 定义与特点 由于某些原因需要给某对象提供一个代理以控制对该对象的访问.这时,访问对象不 ...

  • 结构型模式:享元模式

    七大结构型模式之六:享元模式. 简介 姓名 :享元模式 英文名 :Flyweight Pattern 价值观 :共享富贵 个人介绍 : Use sharing to support large num ...