装饰模式 vs (静态)代理模式

栏目: 后端 · 发布时间: 5年前

内容简介:这两个设计模式都属于结构型模式,且非常相似,其UML图如下:装饰模式:

这两个 设计模式 都属于结构型模式,且非常相似,其UML图如下:

装饰模式:

装饰模式 vs (静态)代理模式

(静态)代理模式:提到代理模式一般是指静态代理模式,动态代理模式会在中专门讲解

装饰模式 vs (静态)代理模式

共同点:

  • 装饰者与被装饰者,代理类与被代理类,都是继承自同一个接口,可以令他们在被调用时相互替换

不同点:

  • 被装饰者往往被作为装饰者的构造器参数传入装饰者,强调被装饰者功能的增强;被代理类往往在代理类内部被创建,所以这里用UML里组合的关系,强调对被代理类的访问控制。
  • 装饰者里持有的是被装饰者的接口类型,所以可以装饰所有实现同一接口的类;代理类是针对某一个具体的类进行代理,所以对每一个类都要实现一个对应的代理类,这是静态代理模式的局限,可以使用动态代理模式来弥补。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序设计基础

程序设计基础

谢书良 / 2010-5 / 29.50元

《程序设计基础》是为从来没有接触过程序设计的读者编写的“零起点”入门教材。全书共分8章,第1章主要介绍程序设计的概念和程序运行的环境,第2章介绍了基本的数据类型、运算符与表达式,第3章介绍面向过程程序的顺序、分支选择和循环三种控制结构,第4章至第7章分别介绍了数组、指针的概念,结构体和其他数据类型,函数及其调用,内容涵盖了C++面向过程程序设计内容,与C语言教材完全兼容。第8章是体现《程序设计基础......一起来看看 《程序设计基础》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具