设计模式大作业要求三个模式_设计模式之-设计模式之结构类模式大PK

本文分析了装饰模式、代理模式和适配器模式的区别和应用场景。装饰模式用于在不改变接口的情况下增强对象功能,如丑小鸭变为白天鹅的例子。代理模式注重对真实角色的控制,常见于AOP框架。适配器模式则是将不同接口的对象转换为同一接口,实现对象转化,如将丑小鸭伪装成鸭子。装饰模式关注对象强化,适配器模式关注转化。
摘要由CSDN通过智能技术生成
  • 结构类模式包括适配器模式、桥梁模式、组合模式、装饰模式、门面模式、享元模式和代理模式。之所以称其为结构类模式,是因为他们都是通过组合类或对象产生更大结构以适应更高成层次的逻辑需求。我们来分析一下装饰模式和代理模式、装饰模式和适配器模式。

装饰模式VS代理模式

首先要说明的是装饰模式是代理模式的特殊应用,两者的共同点是有相同的接口,不同点事代理模式着重对代理过程的控制,而装饰模式则是对类的功能进行加强或减弱,着重类功能的变化。我们看看两者的类图吧!就是一模一样只是代理类和装饰类的名字不一样了而已。我们通过代理类和装饰类看看二者的区别吧。

ff09d4f492e612671002113804d89ac0.png
//代理模式还是侧重于对代理过程的控制,是否允许功能的执行public class SingerAgent{ private Singer singer; public SingerAgent(Singer singer){ this.singer = singer; } public void singing(){ Random rand = new Random(); if(rand.nextBoolean()){ System.out.println("代理人同意歌手唱歌"); singer.sing(); }else{ System.out.println("代理人不同意歌手唱歌"); } }}//装饰模式侧重于对装饰对象功能的增强或者减弱public class SingerWithJet{ private Singer singer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值