当前位置: 首页 > news >正文

网站视频插件代码自己做网站如何赚钱

网站视频插件代码,自己做网站如何赚钱,偷拍哪个网站做的好,郴州网站制作公司文章目录 装饰器模式(Decorator Pattern)代理模式(Proxy Pattern)两者之间的区别 装饰器模式(Decorator Pattern) 装饰器模式是一种结构型设计模式,它允许你动态地将责任附加到对象上&#xff…

文章目录

      • 装饰器模式(Decorator Pattern)
      • 代理模式(Proxy Pattern)
      • 两者之间的区别

装饰器模式(Decorator Pattern)

装饰器模式是一种结构型设计模式,它允许你动态地将责任附加到对象上,而不会影响其他对象。装饰器模式通过创建一个装饰器类,该类包装了原始对象,并在调用原始对象的方法之前或之后添加额外的行为。

以下是一个简单的Java实现,用于装饰一个Component接口的实现类ConcreteComponent

// Component接口
interface Component {void operation();
}// ConcreteComponent类,实现了Component接口
class ConcreteComponent implements Component {@Overridepublic void operation() {System.out.println("ConcreteComponent operation");}
}// Decorator抽象类,实现了Component接口,并持有一个Component类型的对象
abstract class Decorator implements Component {protected Component component;public Decorator(Component component) {this.component = component;}@Overridepublic void operation() {component.operation();}
}// ConcreteDecoratorA类,继承了Decorator,并添加了额外的行为
class ConcreteDecoratorA extends Decorator {public ConcreteDecoratorA(Component component) {super(component);}@Overridepublic void operation() {super.operation();addedBehavior();}public void addedBehavior() {System.out.println("ConcreteDecoratorA added behavior");}
}// ConcreteDecoratorB类,继承了Decorator,并添加了额外的行为
class ConcreteDecoratorB extends Decorator {public ConcreteDecoratorB(Component component) {super(component);}@Overridepublic void operation() {addedState();super.operation();}public void addedState() {System.out.println("ConcreteDecoratorB added state");}
}// 测试装饰器模式
public class DecoratorPatternDemo {public static void main(String[] args) {Component component = new ConcreteComponent();// 使用装饰器A和B装饰原始组件Component decoratorA = new ConcreteDecoratorA(component);Component decoratorB = new ConcreteDecoratorB(decoratorA);// 调用装饰后的组件的方法decoratorB.operation();}
}

代理模式(Proxy Pattern)

代理模式也是一种结构型设计模式,它提供了一个代理对象来控制对另一个对象的访问。代理对象可以在访问真实对象之前或之后添加额外的行为。

以下是一个简单的Java实现,用于代理一个Subject接口的实现类RealSubject

// Subject接口
interface Subject {void request();
}// RealSubject类,实现了Subject接口
class RealSubject implements Subject {@Overridepublic void request() {System.out.println("RealSubject request");}
}// Proxy类,实现了Subject接口,并持有一个RealSubject类型的对象
class Proxy implements Subject {private RealSubject realSubject;@Overridepublic void request() {if (realSubject == null) {realSubject = new RealSubject();}preRequest();realSubject.request();postRequest();}public void preRequest() {System.out.println("Proxy pre-request");}public void postRequest() {System.out.println("Proxy post-request");}
}// 测试代理模式
public class ProxyPatternDemo {public static void main(String[] args) {Subject proxy = new Proxy();proxy.request();}
}

两者之间的区别

  1. 目的不同

    • 装饰器模式的主要目的是在不改变对象自身的基础上,动态地给对象添加职责(即功能)。
    • 代理模式的主要目的是控制对对象的访问,或者为对象提供一个代理以执行一些额外的操作(如安全检查、远程调用等)。
  2. 结构差异

    • 装饰器模式通常涉及到一个接口(或抽象类)和多个装饰器类,这些装饰器类都实现了相同的接口(或继承自相同的抽象类),并持有一个被装饰对象的引用。
    • 代理模式通常也涉及到一个接口(或抽象类)和一个代理类,但代理类通常只持有一个真实对象的引用,并在调用真实对象的方法之前或之后添加额外的行为。
  3. 行为扩展方式

    • 在装饰器模式中,装饰器类通过调用被装饰对象的方法,并在其前后添加额外的行为来实现功能扩展。
    • 在代理模式中,代理类通过调用真实对象的方法,并在其前后添加额外的行为来实现访问控制或功能增强。
  4. 使用场景

    • 装饰器模式适用于需要动态地给对象添加职责的场景,如GUI组件的装饰、服务功能的扩展等。
    • 代理模式适用于需要控制对对象的访问、为对象提供代理以执行额外操作的场景,如远程服务的调用、安全检查的代理等。
http://www.tj-hxxt.cn/news/92029.html

相关文章:

  • asp 公司网站源码自动外链工具
  • 江苏专业做网站的公司哪家好百度首页广告多少钱
  • 团购网站seo外链交易平台
  • 深圳做网站好的公司提高工作效率图片
  • 网站前后端用什么软件做站长之家ip查询
  • 深圳罗湖网站制作公司哪家好免费发帖平台
  • 龙岩做网站开发大概价格邯郸网站优化
  • 男女做暖网站是什么网页设计与制作学什么
  • 毕业室内设计代做网站新泰网站seo
  • 系统开发北京网站建设公众号seo排名
  • 还有哪些网站做产品众筹青岛seo杭州厂商
  • 域名刚到期就被跳转到其他网站seo文章关键词怎么优化
  • 国外自适应网站模版营销推广网站
  • 郑州做网站找哪家好产品推广找哪家公司
  • 网站设计内容清单广东东莞大益队
  • 邢台做网站可信赖企业类网站有哪些例子
  • 设计说明模版大连seo建站
  • 万网网站后台登陆安徽网站推广
  • 苹果软件做ppt下载网站有哪些内容吗新媒体推广渠道有哪些
  • 云南省网站建设seo网站优化培训
  • 网站建设费用报价单廊坊seo排名
  • 网站服务器租用一年多少钱啊西安seo网络优化公司
  • 网站开发制作接单平台东莞外贸推广公司
  • 做自己的网站能赚钱吗北京seo全网营销
  • 做网站有哪些注意事项系统优化软件哪个最好的
  • 企业所得税优惠政策最新2022文件seo优化的常用手法
  • windows7建设网站平原县网站seo优化排名
  • 设计头条app官方网站长沙百度贴吧
  • 响应式新闻网站模板seo 的作用和意义
  • 设计一站式服务小红书关键词热度查询