`

结构型模式总结

 
阅读更多

                      

结构型模式总结

GoF23种设计模式中结构型设计模式有7种,分别是:

Adapter适配器模式、

Bridge桥接模式、

Composite组合模式、

Decorator装饰模式、

Facade外观模式、

Flyweight享元模式

Proxy代理模式。

设计模式

GoF的描述

理解

Adapter适配器模式

将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作

转换接口,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是,新环境要求的接口是现存对象所不满足的,此时我们可以通过添加一层Adapter对现有的对象加入一些接口,使其适应新的应用环境。

Bridge桥接模式

将抽象部分与实现部分分离,使他们可以独立的变化

分离接口(抽象)与其实现,当某个类型具有两个或两个以上的纬度变化(或者说是变化点),通过以继承接口的方式隔离变化,以减少因变化带来的代码的修改量。

Composite组合模式

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

解决客户程序与复杂对象容器的解耦,一类具有“容器特征”的对象——即他们在充当对象的同时,又是其他对象的容器的情况,通过继承统一的接口,我们可以将容器对象及其子对象看成同一类对象使用,以减少对象使用中的复杂度。

Decorator装饰模式

动态的给一个对象添加一些额外的职责。就增加功能而言,Decorator模式比生成子类更为灵活

在稳定接口的前提下为对象扩展功能,主要是解决用继承的方式为对象扩展大量功能而造成的子对象数量膨胀的问题

Facade外观模式

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

简化接口,对于复杂子系统或子对象调用的封装。从客户程序角度看,只能看见Facade提供的接口。换句话说是对子对象调用的封装,将客户程序对子对象的调用与子对象的变化分离。

Flyweight享元模式

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

主要是解决由于相同对象数量过大而造成系统内存开销过大的问题。实际上是相同的对象引用指向同一个对象空间。在使用Flyweight模式前要做一个评估,如果使用不当会适得其反

Proxy代理模式

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

解决直接访问某些对象是出现的问题,如:访问远程的对象

   

在学习的过程中感觉,从代码的角度看Adapter适配器模式和Proxy代理模式有些类似,Adapter适配器模式是解决现有对象在新的环境中的不足,而Proxy代理模式是解决直接访问对象时出现的问题,这两种模式从使用角度看都是解决直接访问对象时出现的问题,只是含义不十分相同。

 

分享到:
评论

相关推荐

    C#面向对象设计模式纵横谈(25):设计模式总结

    1. 工厂模式:工厂模式是一种创建型设计模式,提供了一种创建对象的最佳方式,通过抽象工厂接口,避免了代码与具体类的耦合,提高了系统的可扩展性。 2. 单例模式:单例模式确保一个类只有一个实例,并提供全局访问...

    精品源码 C# 27种设计模式源代码

    8 结构型模式总结 8 责任链模式 9 创建型模式总结 9 中介者模式 10 备忘录模式 10 行为型模式总结 11 访问者模式 1 观察者模式 1 建造者模式 1 装饰模式 2 单例模式 2 门面模式 2 模板方法模式 3 策略模式 3 工厂...

    设计模式之结构型模式

    在众多设计模式中,结构型模式关注如何组织类和对象,以形成更复杂的结构,同时保持良好的设计和代码可维护性。以下是关于“设计模式之结构型模式”的详细解析。 1. **适配器模式**: 适配器模式是一种结构型设计...

    Java设计模式之结构型模式源码以及文档

    今天我们要探讨的是“Java设计模式之结构型模式”。结构型模式主要关注如何组织类和对象,以达到良好的架构,提升代码的可读性和可维护性。在这个主题中,我们将深入理解并讨论这些模式的原理、应用场景及其实现。 ...

    设计模式面面观(10):桥接模式(Bridge Pattern)-结构型模式

    创建型模式 (100%) 设计模式面面观(8):创建型模式总结 (100%) 设计模式面面观(9):适配器模式(Adapter Pattern)-结构型模式 (100%) 设计模式面面观(10):桥接模式(Bridge Pattern)-结构型模式 ...

    结构型模式部分知识

    本资料是关于高等软件工程中的7大结构型模式的PPT总结,包含了大量的实践经验和深入解析,对于提升软件设计能力非常有帮助。 首先,我们来详细了解一下这七大结构型模式: 1. **代理模式(Proxy)**:代理模式提供...

    23种设计模式-结构型模式.docx

    《23种设计模式——结构型模式解析》 设计模式是软件工程中的一种最佳实践,它们是解决常见问题的经验总结,被广泛应用于软件设计中,以提高代码的可读性、可维护性和复用性。在众多的设计模式中,结构型模式尤其...

    软件架构与设计模式实验(结构型模式)定义.pdf

    软件架构与设计模式实验(结构型模式)定义 本实验报告的主要目的是设计适配器模式(Adapter)以掌握“结构型模式”的工作原理、应用环境和应用方法。实验中,我们将使用 Java 语言设计一个仿生机器人,使用适配器...

    [结构型模式] 装饰者模式的理解

    装饰者模式是设计模式中的一种结构型模式,它在不改变原有对象的基础上,动态地给对象添加新的行为或属性,以此来扩展对象的功能。这种模式遵循开闭原则,即对扩展开放,对修改关闭,是一种非常实用的设计策略。 ...

    设计模式原理与应用之结构型模式.pptx

    结构型模式是设计模式的一种分类,它关注如何组合类和对象,构建更大的结构。本篇主要讨论了七种结构型模式:Adapter、Bridge、Composite、Decorator、Façade、Flyweight和Proxy。 1. **Adapter模式**: - 适配器...

    JAVA设计模式,常用创建型、结构型、行为型模式介绍和代码示例

    其中,变压器模式(Adapter)是一种非常典型且实用的结构型模式。 ##### 1.1 变压器模式(Adapter) 变压器模式主要用于将一个接口转换成另一个接口,使得原本不兼容的接口可以协同工作。该模式适用于以下场景: ...

    结构型模式之代理模式(Proxy)

    代理模式是一种设计模式,属于结构型模式之一,其主要目的是为其他对象提供一个代理,以控制对该对象的访问。在实际应用中,代理模式能够帮助我们实现如下的功能: 1. 远程代理:代理对象可以代表一个位于远程系统...

    [结构型模式] 适配器模式的理解

    适配器模式是一种结构型设计模式,它允许不兼容的接口之间进行通信,通过创建一个适配器对象作为中间桥梁,使得原本不匹配的接口能够协同工作。在软件开发中,适配器模式的应用十分广泛,尤其是在处理遗留系统或者...

    .NET设计模式(15):结构型模式专题总结

    摘要:结构型模式,顾名思义讨论的是类和对象的结构,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象,从而实现新的功能(对象结构型模式)。这些结构型模式,它们在某些方面具有很大的相似...

    C#面向对象设计模式纵横谈(8):Bridge 桥接模式(结构型模式)

    桥接模式(Bridge Pattern)是面向对象设计中的一种结构型模式,它将抽象部分与实现部分分离,使得它们可以独立地进行变化。在C#编程中,桥接模式的应用能够帮助我们更好地解耦系统,提高代码的灵活性和可扩展性。 ...

    设计模式自己总结一句话描述

    结构型模式,共七种: 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种: 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式...

    设计模式总结

    设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 创建型模式 创建型模式关心对象的创建和初始化。它提供了多种方式来创建对象,以满足不同的需求。常见的创建型模式有: 1. 普通工厂模式:使用...

    [结构型模式] 桥接模式的理解

    桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立进行变化。这种模式在软件设计中常用于降低复杂性,提高代码的可扩展性和可维护性。通过桥接模式,我们可以将一个大类的职责分解为两个...

Global site tag (gtag.js) - Google Analytics