设计模式之大话西游

    8年前深究设计模式,现如今再次回锅~ 还是大话设计模式 这本书还是可以的

    大话西游经典的台词:“曾经有一份真挚的爱情摆在我面前,我没有珍惜,等我失去的时候,我才后悔莫及,人世间最痛苦的事莫过于此。如果上天能够给我一个再来一次的机会,我会对那个女孩子说三个字:我爱你。如果非要在这份爱上加上一个期限,我希望是一万年!” 当然这是强蹭流量 没有关系

设计模式最重要的看懂那几个线:

https://www.cnblogs.com/itc0z0sti/p/3309584.html 

简单工厂 

super调用 factory中createCashAccept具体:

   case "":

   case "":

   default: 

策略:封装变化 匹配女神

单例 

spring  enum 基础之重蹈覆辙-CSDN博客

代理

调用代理类 代理类调用真实对象方法 两者都实现了一个接口

原型:不知不觉ing 注意

浅克隆:实现cloneable接口 重写clone方法,引用类型 只克隆引用 同一块地址

深克隆:基本数据类型和引用类型指向的对象都会被复制,真正的复制一份,重新开辟空间保存

  重写clone,clone嵌套clone,对象 引用类型变量的类 均实现cloneable接口

  序列化流:对象 引用对象都序列化

首先创建ByteArrayOutputStream内存数组输出流,创建ObjectOutputStream序列化流,并传入内存数组输出流,使用序列化流的writeobject方法将要序列化的对象写入内部数组中
创建一个ByteArrayInputStream内存数组读取流,传入一个读取数据的数组,这个数组通过内存数组输出流的toByteArray方法获得,这个数组里面的数据其实就是已经被序列化成二进制数据的对象
最后创建一个ObjectInputStream反序列化流,并传入内存数组读取流,使用反序列化流的readobject方法将数组中的对象的信息,反序列化出来。
反序列化出的对象就是一个新的对象,完成了深克隆。
当然还可以固定要被序列化对象的版本号,定义一个private static final long serialVersionUID
注意静态的成员和transient关键字修饰的成员不能被序列化

  开源工具:json  spring的BeanUtils  Cglib的BeanCopier 

Java中的深克隆和浅克隆的原理及三种方式实现深克隆_浅克隆和深克隆的实现-CSDN博客

适配器

 

装饰器

 

HttpServletResponseWrapper

 桥接 抽象实现分离

外观

享元 缓存共享对象

外部对象随环境改变而改变 / 内部对象可共享

组合 对象组合成层次结构

模板

命令

责任链

FilterChain    Filter

状态

对象行为

观察者

 当更改一个对象的状态可能需要更改其他对象,并且实际的对象集事先未知或动态更改时

JDK:java.util.Observable

Spring:org.springframework.context.ApplicationListener

中介者

迭代器

简化聚合,定义迭代器 很少用

访问者

 扩展   复用

备忘录

解释器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每周精选资讯 | 第 5 期】2024-04-08 ~ 2024-04-14

文章目录 前言内容百度智能云发布干帆大模型一体机,加速企业私有化部署大模型北大开源 aiXcoder-7B 代码大模型,专为企业私有部署设计WPS AI 企业版发布:多个大模型自由切换英特尔发布 AI 芯片 Gaudi 3,称性能超越英伟达 H100马云…

国外站群服务器有哪几种?

国外站群服务器种类繁多,它们各具特色,适用于不同的业务需求和场景。以下将为您科普几种常见的国外站群服务器及其特点。 首先,美国站群服务器以其丰富的IP资源和强大的网络技术著称。作为全球网络技术和数据中心发展的领先者,美国…

数据库SQL语言实战(二)

目录 检索查询 题目一 题目二 题目三 题目四 题目五 题目六 题目七 题目八 题目九(本篇最难的题目) 分析 实现(两种方式) 模板 总结 检索查询 按照要求查找数据库中的数据 题目一 找出没有选修任何课程的学…

YesPMP众包平台 | 活动有礼,现金奖励点击领取!

YesPMP众包平台在线发福利啦,4月16日活动火热开启,现金奖励等你来领,最高可领千元,赶快参与将奖励收入囊中,一起来了解活动细节吧! 一、活动内容: 活动一:【项目征集令】活动&…

Python Flask-Security- 构建安全而强大的Web应用

Flask-Security是一个基于Flask的安全扩展,为开发者提供了构建安全且强大的Web应用的工具。本文将深入探讨Flask- Security的核心功能、基本用法以及在实际应用中的一些高级特性,通过丰富的示例代码,助您更全面地了解和应用这一用于Web应用安…

2024年【危险化学品经营单位主要负责人】考试题库及危险化学品经营单位主要负责人新版试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位主要负责人考试题库是安全生产模拟考试一点通总题库中生成的一套危险化学品经营单位主要负责人新版试题,安全生产模拟考试一点通上危险化学品经营单位主要负责人作业手机同步练习。2024…

python+playwright 学习-88 禁止加载图片等资源

前言 对于爬虫的小伙伴来说,有时候只需抓取页面的文本,不用加载图片,可以加快操作页面速度,那么我们可以设置禁止加载图片等资源。 禁止图片加载 根据url地址的后缀,图片资源后缀一般是png,jpg,jpeg,gif等格式。 from playwright.sync_api import sync_playwrightwith…

Gradle 实战 - 插件-ApiHug准备-工具篇-015

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ApiHug …

rv1103/buildroot系统中添加包如v4l2

v4l2: rv1103给出的包中已经有v4l,只需要在menuconfig中打开编译选项,步骤如下: 在luckfox的github网站中下载的源代码在~/linux/luckfox/luckfox-pico-main中目录结构如下: 打开编译选项 cd ./sysdrv/source/buildroot/buildroot-2023.02.…

一种驱动器的功能安全架构介绍

下图提供了驱动器实现安全功能的架构 具有如下特点: 1.通用基于总线或者非总线的架构。可以实现ethercat的FSOE,profinet的profisafe,或者伺服本体安全DIO现实安全功能。 2.基于1oo2D架构,安全等级可以达到sil3。 3.高可用性。单…

第十五篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python 自动化处理图像在各行各业的应用场景

传奇开心果博文系列 系列博文目录Python自动化办公库技术点案例示例系列 博文目录前言一、行业应用场景介绍二、 **计算机视觉研究与开发示例代码**三、人工智能与机器学习示例代码四、医疗健康领域示例代码五、制造业与质量控制示例代码六、农业与环境科学示例代码七、电子商务…

小米汽车值得去吗?最终拒了 offer。

车企选择 今天逛某职场 App 时,无意间看到一篇寻求 offer 抉择意见的帖子: 这位同学刚从加班闻名(但 CEO 强调既学华为狼性,也学华为分配)的理想汽车离职。 经过了 6 轮面试,收到了小米 offer,但…

【合合TextIn】智能文档处理系列—电子文档解析技术全格式解析

一、引言 在当今的数字化时代,电子文档已成为信息存储和交流的基石。从简单的文本文件到复杂的演示文档,各种格式的电子文档承载着丰富的知识与信息,支撑着教育、科研、商业和日常生活的各个方面。随着信息量的爆炸性增长,如何高…

网络网络层之(2)ARP协议

网络网络层之(2)ARP协议 Author:Once Day Date: 2024年4月1日 漫漫长路,有人对你笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的博客-CSDN博客。 参考文档: 《TCP/IP详解卷一》arp(8) - Linux manual page (man7.org)彻底搞懂系…

C语言中的数据结构--链表的应用2(3)

前言 上一节我们学习了链表的应用,那么这一节我们继续加深一下对链表的理解,我们继续通过Leetcode的经典题目来了解一下链表在实际应用中的功能,废话不多说,我们正式进入今天的学习 单链表相关经典算法OJ题4:合并两个…

pyppeteer和requests简单应用

pyppeteer和requests简单应用 本文章只是分享pyppeteer技术。有些反扒网站可以使用pyppeteer库,完整代码没有分享。 获取相关开发工具软件,可以关注公众号:爬虫探索者。 发送下面图片的关键字可以获取对应软件。sql指的是Navicat。 破解教程可…

Netty之ByteBuff

1、Jdk自带ByteBuffer 1.1、ByteBuffer简介 事实上,jdk自1.4版本,就已经提供了nio的ByteBuffer,用于在Java程序中操作原始数据。ByteBuffer可以用来读取和写入二进制数据,例如网络传输的数据、文件的内容等。 ByterBuffer的部分…

【大数据】Apache Knox 概述

Apache Knox 概述 1.概述1.1 Kerberos 封装1.2 简化客户端证书的管理1.3 Apache Ranger 集成1.4 Hadoop URLs VS Knox URLs 2.自定义 Apache Knox2.1 Topology2.2 Provider2.3 Services2.4 Personalized services 3.Tips3.1 Setting up SSL3.2 常见问题3.2.1 Bulky answer3.2.2…

财务软件行业背景-易舟云

财税是每个企业的基本基石之一。财务报告讲述了公司的故事——它的利润和亏损、收益和债务、税收支出以及可用于未来增长的资产。随着信息时代的飞速发展,财务信息化建设日益完善,大量基于计算机网络的应用系统已经逐步深入财务管理领域。传统的会计录入…

过冲、振铃、非单调性

1、过冲(Overshoot)和振铃(Ringing)是电路中常见的信号失真现象,主要出现在开关电源、数字信号传输、通信系统以及其他涉及快速开关动作的电子设备中。它们通常与电路的瞬态响应有关,尤其是当电路受到阶跃输…