一 模式分析表(桥接6模式)
桥接模式和桥接模式衍生的模式都是应用非常广泛的模式,我认为是学习的重点。
模式名称 | 桥接对象 | 桥接数 | 桥接属性 | 桥接图形 | 桥接迭代 | |
1 | 装饰 | 自己 | 单个 | 静态 | 链表 | 有 |
2 | 组合 | 自己 | 多个 | 静态 | 树(图) | 有 |
3 | 观察者 | 观察者 | 多个 | 静态 | 点 | 没 |
4 | 职责链 | 职责者 | 单个 | 静态 | 链表 | 有 |
5 | 策略 | 策略者 | 单个 | 动态 | 点 | 没 |
6 | 状态 | 状态者 | 单个 | 动态 | 点 | 没 |
7 | 解释器 | 解释器 | 多个 | 静态 | 图 | 有 |
概念解释
桥接对象:桥接的对象
桥接数:桥接关系发生桥接对象的数量
桥接属性:这个桥接使动态还是静态的,比如状态模式中的状态桥接是不断的变化的,而组合模式的桥接,在桥接后就不会发生变化,桥接的关系会固定下来所以是静态的。
桥接图形:桥接关系形成的最终图形,装饰会形成一个装饰链。组合会形成一种图的结构。观察者因为桥接的是一个链表型的观察者,会形成链表,但是这个链表不是有桥接关系形成,桥接关系只形成了一个点。
桥接迭代:指桥接关系是否发生迭代。
二 中间件4模式
通用意图:承载关联,隔离关联,减少关联
序号 | 名称 | 代理的连接 | 各自特性 |
适配器 | 类(桥接) | 是解决接口不匹配的问题,有可能是一系列的接口 | |
外观 | 类(桥接) | 将内部公共函数代理,对外部模块公开。消除外部模块的直接访问,减少了外部模块和内部个模块的连接。如果在更大一层的空间考虑。这个外观,也可以当做中介者。 | |
代理 | 类(桥接) | 这个外观的差别不大,不过这个模式强调的不是减少关联,而是一个保护层,举个例子说,这个层可能比外观更外一层,对一些非亲近的模块执行一些访问接口的限制。这层的主要价值在于权限的控制。 | |
中介者 | 函数(依赖) |
该模块的主要价值体系在对内部依赖级别的关系消除。不紧密的几个类之间有调用关系,或者几个类简单调用关系较少,可以用一个中介者还承担这些相互的调用,从而消除一些耦合,使他们只和中介者发生耦合。他的特点与外观相比,更大的 针对性,在内部,且他是对几个平行关系者的代理。而外观是一个模块公布初期的接口,是对外提供。虽然从结构的本质上没发做绝对的区分。但是使用意图是不一样的。 结构关系和价值是一样的。 但这不重要,举个例子吧,如果AF,是A模块的外观,复杂和BF和CF沟通,那么在A BF,CF间,他就相当于中介者。 不饶了,我想您应该理解了吧 |
二 模式分析表(其他模式)
名称 | 模板 | 迭代 | 接口 | 性能 | 分类 | |
1 | 迭代器 | 有 | 多 | 专用5模式 | ||
2 | 模板 | 有 | 多 | 专用5模式 | ||
3 | 命令 | 有 | 单 | 专用5模式 | ||
4 | 备忘录 | 多 | 专用5模式 | |||
5 | 解释器 | 单 | 专用5模式 | |||
6 | 单件 | 单 | 创建型模式 | |||
7 | 抽象工厂 | 有 | 多 | 创建型模式 | ||
8 | 工厂方法 | 单 | 创建型模式 | |||
9 | 创建者 | 多 | 创建型模式 | |||
10 | 原型 | 单 | 有 | 创建型模式 | ||
11 | 享元 | 单 | 有 | 创建型模式 | ||
12 | 访问者 | 单 | 双向依赖模式 |