返回顶部
首页 > 资讯 > 精选 >Java装饰器模式实例分析
  • 417
分享到

Java装饰器模式实例分析

2023-06-29 07:06:18 417人浏览 薄情痞子
摘要

今天小编给大家分享一下Java装饰器模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。优点装饰类和被装饰类可以独立发

今天小编给大家分享一下Java装饰器模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

优点

装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。

缺点

多层装饰比较复杂。

使用场景

扩展一个类的功能。

动态增加功能,动态撤销。

一、实现方式

假设一个场景,我们房间每天起床都要刷牙, 睡觉也要刷牙,刷牙的动作就是一个装饰器的作用,这样更利于我们的口腔健康。接下来我们就看看具体的装饰器如何实现。

每天生活的接口

package com.asurplus.common.decorator;public interface Live {        void live();}

2、起床的实现类

package com.asurplus.common.decorator;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class GetUpLive implements Live {    @Override    public void live() {        log.info("起床了");    }}

3、睡觉的实现类

package com.asurplus.common.decorator;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class SleepLive implements Live {    @Override    public void live() {        log.info("睡觉了");    }}

4、装饰器类

package com.asurplus.common.decorator;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class LiveDecorator {    private Live live;    public LiveDecorator(Live live) {        this.live = live;    }    public void live() {        // 生活        live.live();        // 刷牙        brushTeeth();    }    private void brushTeeth() {        log.info("刷牙去咯");    }}

二、测试

package com.asurplus.common.decorator;public class TestMain {    public static void main(String[] args) {        // 起床        LiveDecorator getUp = new LiveDecorator(new GetUpLive());        getUp.live();        System.out.println();        // 睡觉        LiveDecorator sleep = new LiveDecorator(new SleepLive());        sleep.live();    }}

输出结果

Java装饰器模式实例分析

可以看出,起床和睡觉,都刷了牙,从而实现了我们的装饰器模式。

以上就是“Java装饰器模式实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: Java装饰器模式实例分析

本文链接: https://lsjlt.com/news/323580.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java装饰器模式实例分析
    今天小编给大家分享一下Java装饰器模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。优点装饰类和被装饰类可以独立发...
    99+
    2023-06-29
  • JAVA装饰器模式应用实例分析
    本篇内容主要讲解“JAVA装饰器模式应用实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JAVA装饰器模式应用实例分析”吧!什么是装饰器模式装饰器(Decorator)模式的定义: 指在不...
    99+
    2023-06-30
  • Java装饰者模式的示例分析
    小编给大家分享一下Java装饰者模式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!定义装饰者模式:在不改变原有对象的基础之上,动态的将功能附加到对象上,...
    99+
    2023-06-29
  • PHP中装饰器模式的示例分析
    这篇文章主要介绍了PHP中装饰器模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Gof类图及解释GoF定义:将一个类的接口转换成客户希望的另外一个接口。Adapt...
    99+
    2023-06-20
  • Python装饰器实例分析
    这篇“Python装饰器实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python装饰器实例分析”文章吧。任务超时退...
    99+
    2023-06-27
  • JavaScript中装饰者模式与AOP的示例分析
    这篇文章将为大家详细讲解有关JavaScript中装饰者模式与AOP的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是装饰者模式当我们拍了一张照片准备发朋友圈...
    99+
    2024-04-02
  • Java设计模式之装饰器模式
    本文由老王将建好的书房计划请小王来帮忙,小王却想谋权篡位,老王通过教育他引出装饰器设计模式,第二部分针对老王提出的建设性意见实现装饰器模式,第三部分针对装饰器模式在Jdk中的IO、S...
    99+
    2024-04-02
  • C#设计模式之装饰器模式实例详解
    最近踢了场球,9人制比赛,上半场我们采用防守阵型效果不佳,下半场采用进攻阵型取得了比赛的主动。我们上下半场所采取的策略,似乎可以用"装饰器"模式实现一遍。 首先肯...
    99+
    2024-04-02
  • java 中设计模式(装饰设计模式)的实例详解
    java 中设计模式(装饰设计模式)的实例详解应用场景:在不对原有对象类进行修改的基础上,给一个或多个已有的类对象提供增强额外的功能. 我觉得可以从字面理解,装饰,装饰房子。房子可以看成原有的类。等于你把一个已经建好的房子按照自己的想法再装...
    99+
    2023-05-31
    java 装饰模式 ava
  • Java设计模式的装饰器模式怎么实现
    本文小编为大家详细介绍“Java设计模式的装饰器模式怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java设计模式的装饰器模式怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是装饰器模式装饰器...
    99+
    2023-06-30
  • JAVA的单例模式实例分析
    这篇文章主要介绍“JAVA的单例模式实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JAVA的单例模式实例分析”文章能帮助大家解决问题。一、单例模式是什么?单例(Singleton)模式的定义...
    99+
    2023-06-29
  • 用实例分析Java单例模式
    这篇文章主要用实例分析Java单例模式,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。本文实例讲述了Java单例模式。分享给大家供大家参考,具体如下:在实际开发的时候会有一些需求,在某个类中只能...
    99+
    2023-05-31
    java 单例模式 ava
  • Java装饰者模式的示例详解
    目录定义案例需求方案分析使用场景知识点补充定义 装饰者模式:在不改变原有对象的基础之上,动态的将功能附加到对象上,提供了继承更有弹性的替代方案,也体现了开闭原则 案例 需求 一个人去...
    99+
    2024-04-02
  • Java设计模式的单例模式实例分析
    本文小编为大家详细介绍“Java设计模式的单例模式实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java设计模式的单例模式实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是单例模式单例模式(S...
    99+
    2023-06-29
  • Java策略模式实例分析
    这篇文章主要讲解了“Java策略模式实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java策略模式实例分析”吧!优点算法可以自由切换。避免使用多重条件判断。扩展性良好。缺点策略类会增...
    99+
    2023-06-29
  • Java工厂模式实例分析
    今天小编给大家分享一下Java工厂模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。优点一个调用者想创建一个对象,只...
    99+
    2023-06-29
  • C#实现装饰器模式
    场景:假设每次我们去超市购物,我们都会推一个购物车,有水果、蔬菜、肉类三种商品,提供给我们选择,那么这时候,如果使用装饰器模式,应该如何实现? 1.什么是装饰器模式 首先我们知道,如...
    99+
    2024-04-02
  • java如何实现装饰者模式
    这篇文章主要介绍java如何实现装饰者模式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!定义:    在不必改变原类文件和原类使用的继承的情况下,动态地扩展一个对象的功能。 &...
    99+
    2023-05-30
    java
  • python装饰器的示例分析
    这篇“python装饰器的示例分析”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“python装饰器的示例分析”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们...
    99+
    2023-06-06
  • 分析Python中设计模式之Decorator装饰器模式的要点
    先给出一个四人团对Decorator mode的定义:动态地给一个对象添加一些额外的职责。 再来说说这个模式的好处:认证,权限检查,记日志,检查参数,加锁,等等等等,这些功能和系统业务无关,但又是系统所必须...
    99+
    2022-06-04
    模式 要点 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作