设计模式之大话西游

    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

中介者

迭代器

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

访问者

 扩展   复用

备忘录

解释器

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java多线程的线程状态和线程池参数

一、线程状态 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。Java中的线程状态被定义在了java.lang.Thread.State枚举类中,State枚举类的源码如下: publi…

轻量级的Spring Cloud Gateway实践,实现api和websocket转发

当国内大部分都是粘贴复制一些重型框架时,有没有人会想到,我们自己做一个小项目,几个小的Spring boot的项目时,我们是否还需要按部就班的用我们公司中用到的Nacos,这种冗余且调配复杂的组件呢? 不是本人说…

软考报考指南

目录 了解软考 选择报考级别与专业 关注报考时间 完成报名手续 准备考试 参加考试 查询成绩与领取证书 了解软考 官网链接:中国计算机技术职业资格网 软考,即计算机技术与软件专业技术资格(水平)考试,是由国家人…

广州网站建设如何吸引用户眼球

随着互联网技术的发展,现在广州的大多数企业或品牌都会打造高质量的网站,以便更好地宣传,在网站建设过程中,前端网站设计至关重要,主要体现在排版和布局上,高大尚的网站建设并不是将所有模块内容堆放在首页…

中仕公考:教师招聘和事业单位联考的区别

教师招聘考试与事业单位联考作为两种不同的职业资格考试,其在报考条件和考试内容上存在明显的差异,具体内容为大家简要介绍一下: 一、报考条件 1. 教师招聘考试:此类考试的报名通常要求申请者持有相关教师资格证明。对于非师范生…

使用阿里云试用Elasticsearch学习:Search Labs Tutorials 搭建一个flask搜索应用

文档:https://www.elastic.co/search-labs/tutorials/search-tutorial https://github.com/elastic/elasticsearch-labs/tree/main/example-apps/search-tutorial Full-Text Search

酷开系统让用户在方方面面享受科技进步带来的美好体验

电视本身的特性,再有人工智能和全时AI的加持,让搭载了酷开系统的电视有能力成为一个“家庭智慧管控中心”。互联网的存在让大家能更懒地完成事情,满足宅家的愿望,有话说,科技因懒人而进步。打个简单的比方,…

人工智能研究生前置知识—扩展程序库Pandas

人工智能研究生前置知识—扩展程序库Pandas pandas简介 Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据)。Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。 pandas的官网:https://pandas.…

护眼台灯哪个牌子最好,护眼台灯品牌排行榜分享

​护眼台灯哪个牌子最好?尽管一些家长可能对护眼台灯还不甚了解,下面我将介绍这类台灯的几个显著优势:它们专为减少眼睛疲劳和保护视力而设计,提供稳定且柔和的光线;具备灵活的亮度调节功能,适应不同的阅读…

springCloudAlibaba集成seata实战(分布式事物详解)

一、分布式事务 1. 事务介绍 1.1 基础概念 事务:保证我们多个数据库操作的原子性,多个操作要么都成功要么都不成功 事务ACID原则 A(Atomic)原子性:构成事务的所有操作,要么都执行完成,要么全部…

linux之shell命令

shell基础命令 浏览Linux 文件系统 Linux 系统目录结构 /bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev &…

论文略读:Benign Oscillation of Stochastic Gradient Descent with Large Learning Rate

iclr 2024 reviewer评分 368 论文从理论上研究了通过随机梯度下降(SGD)且采用大学习率训练的神经网络(NN)的泛化特性论文的发现是,由于SGD的大学习率引起的NN权重的振荡,实际上有利于NN的泛化,…

如何用CRMEB Pro版企业微信功能做私域运营

过去3年,线下实体零售发展坎坷,线上经济趁机扩展,出现了社交电商、私域电商等多种电商类型。其中,私域电商备受关注,众多企业纷纷开始尝试,在广大企业商家做私域运营的过程中,企业微信以其强大的…

病毒繁殖-第12届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第52讲。 病毒繁殖&#xf…

BLE一些概念 (转载)

原文见 https://www.cnblogs.com/wahahahehehe/p/15094324.html 1. 物理信道 低功耗蓝牙的工作频段为2.4GHz,这个唯一一个在所有国家都无需授权的频段。 BLE将2.4GHz频段分为40个RF射频信道,每个信道2M宽度,最低的中心频率为2402MHz&#x…

水库之大坝安全监测系统解决方案

一、系统介绍 水库之大坝安全监测系统主要包括渗流监测系统、流量监测系统、雨量监测系统、沉降监测系统组成。每一个监测系统由监测仪器及自动化数据采集装置(内置通信装置、防雷设备)、附件(电缆、通信线路、电源线路)等组成&a…

为什么每个程序员都应经历一次软考?

今天想和大家讨论一个问题,为什么每个程序员都应经历一次软考? 软考是最近几年比较热门的一个国家级考试,但其实80%的人都只是去凑热闹,是去为国家软考办做贡献的。 有因为各种各样的原因直接缺考的,有是为了一些学习以…

java 将 json 数据转为 java 中的对象

一、准备 json 数据 {"name": "mike","age": 17,"gender": 1,"subject": ["math","english"] }二、对应的java对象 package com.demo.controller;import lombok.Data; import java.util.List;Data pu…

若依 ruoyi-vue el-select 多选框 全选 反选 全不选 查询功能

参考文章vueel-select下拉实现&#xff1a;全选、反选、清空功能 如图&#xff0c;优化代码&#xff0c;支持若依字典 import multipleSelect from /components/MultipleSelect/index.vuecomponents: { multipleSelect },<el-row><el-form-item label"分管领域…

ETL中如何运用好MQ消息集成

一、ETL的主要作用 ETL&#xff08;Extract, Transform, Load&#xff09;是数据仓库中的关键环节&#xff0c;其主要作用是将数据从源系统中抽取出来&#xff0c;经过转换和清洗后加载到数据仓库中。具体而言&#xff1a; Extract&#xff08;抽取&#xff09;&#xff1a;从…