设计模式02(结构性设计模式)

结构型模式的模式有7种

1.外观模式

为了封装一些方法类,统一对外提供一个外观类,这个应该是使用最多的一种设计模式

2.装饰模式

2.1装饰模式,提供一个装饰类,配件类重写装饰类,装饰模式有点和建造者模式类似。

2.2两者的区别在于,建造者是一个接口,在组装的时候是按照流程组装

装饰模式是一堆配件,可以自由组装

3.适配器模式

3.1适配器模式一般在后期维护的时候会使用,比如:想复用存在的类,但是该类的接口和现在不一致

3.2或者在使用第三方开发组间的时候,组件和现在软件的接口不一致,我们又不想改动我们的接口

适配器模式有一个适配类,适配类继承 目标类。并且重写目标的方法

4.组合模式

4.1如果对象间存在树形结构,表示“部分-整体”的关系,这个时候使用组合模式会比较简单,

其中有一个组合类,里面添加 Add,Remove,等等Operation,将部分组合到整体。

5.桥接模式

5.1有些变化很快的类,并不能直接按照继承关系,这个时候可以使用桥接模式,

将抽象画和实体化先分离,使两者可以独立变化,减少派生类

桥接模式和装饰模式有点像,两者主要区别:

5.2桥接模式中所说的分离,其实是指将结构与实现分离(当结构和实现有可能发生变化时)
或属性与基于属性的行为进行分离(提取分类);而装饰者只是对基于属性的行为进行封闭成独立的类。

5.3桥接中的行为是横向的行为,行为彼此之间无关联;而装饰者模式中的行为具有可叠加性,
其表现出来的结果是一个整体,一个各个行为组合后的一个结果。

6.代理模式

7.享元模式

时间: 2024-08-27 08:08:16

设计模式02(结构性设计模式)的相关文章

iOS.常用设计模式.02.委托模式

WTDelegate #import <Foundation/Foundation.h> @protocol WTDelegate <NSObject> @required - (void)sleep; - (void)eat; - (void)work; @end WTPhilosopher.h #import <Foundation/Foundation.h> #import "WTDelegate.h" @interface WTPhiloso

Java设计模式—单例设计模式(Singleton Pattern)全然解析

转载请注明出处:http://blog.csdn.net/dmk877/article/details/50311791 相信大家都知道设计模式,听的最多的也应该是单例设计模式,这种模式也是在开发中用的最多的设计模式,可能有非常多人会写几种设计模式.那么你是否知道什么是设计模式?为什么会有单例设计模式即它的作用是什么?单例模式有哪些写法?对于这种问题.可能有部分童鞋并不能非常好的回答,没关系今天就和大家一起来具体的学习下单例设计模式,相信通过学习本篇你将对单例设计模式有个具体的理解. 如有谬误欢

设计模式09----门面设计模式

转自:https://www.cnblogs.com/lthIU/p/5860607.html 针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下. 一.概念介绍 外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口.这种类型的设计模式属于结构性模式.为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用. 二.角色及使用场景 简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用.

Java设计模式1:设计模式概论

设计模式是什么 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易地被他人理解.保证代码可靠性.毫无疑问,设计模式于己于人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样. 总体来说,设计模式分为3大类总共23种: 1.创建型模式,共5种 工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式 2.结构型模式,共7种 适配器模式.装饰器模式.外观

猿取向的规划设计模式 ——GoF《设计模式》阅读摘要(零)

这个话题是很奇怪,设计模式是引导程序的设计不是模仿什么软件?呃.我的意思是,这是 面"对象"相对的设计模式. 我曾见过有人写<给妻子解释设计模式>,这样的把计算机中的思想与生活相结合固然非常好.人类解决这个问题的思想是相通的,计算机中的非常多思想比方分治.递归.贪心等都能在生活中找到相似的样例.可是.不恰当的样例反而会误导人的思维.造成理解偏差.设计模式本就是类与类之间怎样组织的一套软件设计经验,我们拿软件开发中的实例来解说,会更加准确. 写在前面: 为什么要学设计模式?

C#设计模式(0)-认识设计模式

简介 世界上本没有路,走的人多了也就成了路:世界上本来没有设计模式.用的人多了,也就成了设计模式.所以,我们不是严格按照它的定义去执行,可以根据自己的实际场景.需求去变通.领悟了其中的思想,实现属于自己的设计模式.通过对设计模式理解,让它它慢慢地影响你写代码的思维方式: 我们为什么要使用设计模式?使用设计模式是为了可重用代码,让代码容易被他人理解.保证代码可靠性以及可维护性. 最近看了一些关于设计模式的文章,以前也实际用过一些,这里希望将设计模式系列做一下总结,帮助我更深入地理解设计模式: 设计

设计模式----看大话设计模式笔记(二)

9.原型模式(Prototype): 用原型实例指定创建对象的种类,并通过拷贝这些原型创建行的对象. UML图: 原型模式其实就是从一个对象创建另一个可定制的对象,并且不需要知道任何创建的细节. .NET 中实现ICloneable接口即可. 一般在初始化信息不发生变化的情况下,克隆是最好的办法,隐藏了对象创建的细节,又提高了性能. MemberwiseClone()方法,如果字段是值类型,对该字段进行逐位复制:如果是引用类型,复制引用但是不复制引用的对象,因此原始对象及产生的副本引用同一对象.

【设计模式】盘点设计模式的几宗”最“

第一遍学完<大话设计模式>,顿感思考层次高了起来.让我们能站在山顶以更高的角度来俯视我们的设计.但是,我们也深知一遍的学习是远远不够的,今天先试着将自己目前的理解尽可能全面的总结一下,各位多多指教,不胜感激. 什么是设计模式 设计模式(Designpattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 原则-六宗最 最专情---- 单一职责:就一个类而言应该仅有一个引起它变化的原因. 口头禅:&

java设计模式系列之设计模式概要(1)

一.什么是设计模式 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是

[设计模式] .NET设计模式笔记 - 了解设计模式

今天在TerryLee的cnblog(http://terrylee.cnblogs.com)里看到了与设计模式相关的整套文章,初学设计模式看完每篇文章后做些笔记和摘抄. ●什么是设计模式,什么是架构? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的