面试官:请说下适配器模式、代理模式和装饰者模式的不同

面试官:请说下适配器模式、代理模式和装饰者模式的不同适配器模式 代理模式和装饰者模式是设计模式中的高频设计模式 三者非常相似 需要重点区分下 直接上结论先 装饰者模式的关注点在于添加功能 代理模式的关注点在于控制对象的访问 其原型对象对于用户无法得知 适配器模式关注点在于适配

大家好,欢迎来到IT知识分享网。

适配器模式、代理模式和装饰者模式是设计模式中的高频设计模式,三者非常相似,需要重点区分下。直接上结论先,

  1. 装饰者模式的关注点在于添加功能。
  2. 代理模式的关注点在于控制对象的访问,其原型对象对于用户无法得知。
  3. 适配器模式关注点在于适配。
面试官:请说下适配器模式、代理模式和装饰者模式的不同

设计模式一直是Java高级面试的重点,她代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用,是众多软件开发人员长时间的总结出来的。遵循六大原则,

  • 单一职责原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 迪米特原则
  • 开闭原则

适配器模式一般使用的情况包括:系统需要使用现有的类,但此类已经不符合系统的需要。想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的的类一起工作。适配器模式在系统升级的时候使用的频率很高,对旧系统的一些功能方法在新系统中引用。

代理模式:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。

装饰模式一般在下列情况使用:需要扩展一个类的功能或者给你个类增加附加责任;需要动态的给一个对象增加功能,这些功能可以再动态的撤销;需要增加有一些基本功能的排列组合而产生非常大量的功能,从而使得继承关系变得不现实。装饰模式java中的I/O文件的操作中都有体现。Java的IO库中处理流的类有FIleInputStream,FileOutputStream,DataInputStream,DataOutputStream类等。在InputStream,OutputStream,Reader,Writer结构的内部,有一些流处理器可以对另一些流处理器起到装饰作用,形成新的,改善的流处理器。这就体现了装饰模式的作用。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/175606.html

(0)
上一篇 2025-04-07 11:26
下一篇 2025-04-07 11:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信