Structural Patterns-结构型模式
- 概念
-
- 一、类模式
-
- 二、对象模式
-
- 适配器模式_对象
- 代理模式
- 桥接模式
- 装饰模式
- 外观模式
- 享元模式
- 组合模式
概念
定义
功能 创建、组合、表示对象
目的
[1]结构 运行期,组合类、对象
[2]继承
[3]组合
一、类模式
适配器模式_类
定义 统一接口封装三方接口,屏蔽细节
目的 类实现多继承;使得外部接口复用、兼容
分类
[1]类继承 适配类为基类,派生子类,子类添加统一函数
[2]类联合 适配类为基类,创建父类,父类添加统一函数
案例 转发、SpringMVC
区别
[1]Adapter 代理方-基类 适配器-子类 调用方
[2]Proxy 代理方-接口 调用方-实现类
二、对象模式
适配器模式_对象
代理模式
定义
角色
[1]委托方 实现接口,决定调用时间,决定调用方法
[2]代理方 定义接口
目的
[1]简化操作 简单对象表示复杂对象
[2]降低耗时 创建对象耗时、消耗资源,使用惰性加载
对象的创建、初始化从运行期,推迟至类使用时
应用 分布式物理分离
[1]静态代理
[2]JDK动态代理
[3]Cglible动态代理
[4]JDO Client通过代理对象,操作数据。具备缓冲、惰性载入
[5]EJB 容器管理代理对象,安全、事务、惰性、生命周期
[6]分布式组件
桥接模式
装饰模式
IO、Servlet
定义
目的 动态添加方法,改变对象行为
区别
[1]extend 类继承 创建派生类,改变对象行为
原理 拦截函数激发,添加动作
[2]Decorator装饰模式 无需创建派生类,改变对象行为
原理 提取基类或者接口,实现相应动作实现类,联合嵌套实现类
应用
[1]java.io 字节流、字符流等等
[2]Servlet 分离装饰对象的实现、使用。容器接收Http,激活Servlet,包装装饰对象,装饰节点递归输出
外观模式
定义 请求传递给对象
目的 层间分离,依赖接口 Contraller、Service、Dao
应用 远程通信、事务
区别
[1]Factory 屏蔽类的创建
[2]Adapter 面向接口
[3]Facade 面向模块,屏蔽模块实现
享元模式
组合模式
定义 组合节点[对象、对象集合],抽象共性、结构
目的
属性 树型结构数据
应用 DOM XML解释器
使String解析DOM,包括Node、Element、Text、Attribute