Advertisement

代理设计模式与其与装饰模式的区别

阅读量:

文章结构概览

  • 一、代理设计模式
      • 构成要素
      • 类型划分
      • 静态代理的UML架构图
      • 静态代理模式的实例演示
      • 静态代理存在的限制
      • 动态代理机制
      • 动态代理的UML架构图
      • 进一步思考
    • 二、装饰设计模式

    • 三、两者之间的异同点

一、代理设计模式

组成

代理模式由以下几个组成部分构成:

  • Subject:抽象角色。该角色通过接口或抽象类的形式,对真实角色所执行的业务方法进行声明。
  • Proxy:代理角色。该角色实现抽象角色所定义的接口,作为真实角色的代理存在,其通过调用真实角色的业务逻辑方法来完成抽象方法的实现,并可在其中加入自身特有的操作。
  • RealSubject:真实角色。该角色实现抽象角色所声明的接口,具体定义并实现真实角色应完成的业务逻辑,供代理角色进行调用。

分类

代理机制主要划分为静态代理与动态代理两类,其中静态代理需依据提供的UML类图自行编码实现,且其代理关系在编译阶段即被确定。相比之下,Java语言则通过反射包中的DynamicProxy类提供了动态代理的支持,借助Proxy类能够在程序运行时灵活地完成代理功能。

静态代理UML结构图

![图1

全部评论 (0)

还没有任何评论哟~