当前位置: 首页 > news >正文

Java设计模式

1.设计模式概述

软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓 的、经过分类编目的、代码设计经验的总结

1.创建型模式

用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。

2.结构型模式

用于描述如何将类或对象按某种布局组成更大的结构,提供了代理、适配器、 桥接、装饰、外观、享元、组合等 7 种结构型模式。

3.行为型模式

用于描述类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,以及怎样分配职责。提供了模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访 问者、备忘录、解释器等 11 种行为型模式

 2.UML图

统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特 点是简单、统一、图形化、能表达软件设计中的动态与静态信息。

2.1 类图表示法

下图表示的依次为类、属性及方法

+:表示public

-:表示private

#:表示protected

 属性的完整表示方式是: 可见性 名称 :类型 [ = 缺省值]

方法的完整表示方式是: 可见性 名称(参数列表) [ : 返回类型]

2.2 类与类之间关系的表示方式 

关联关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系。关联又可以分为单向关联,双向关联,自关联。

2.2.1 关联关系

2.2.1.1 单向关联

上图表示每个顾客都有一个地址。

2.2.1.2 双向关联

 2.2.1.3 自关联

相关文章:

Java设计模式

1.设计模式概述 软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓 的、经过分类编目的、代码设计经验的总结。 1.创建型模式 用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。提供了单例、原型、工厂方法、抽象工…...

平均分(C++)

系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…...

.NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试

2023年11月15日,对.net的开发圈是一个重大的日子,.net 8.0正式版发布。 圈内已经预热了有半个月有余,性能不断超越,开发体验越来越完美,早在.net 5.0的时候就各种吹风Aot编译,直到6.0 7.0使用仍然比较麻烦…...

Django之模型层

【1】常见的13中查询方法 例子语法:models.Userinfo.objects.filter().all() 查询方法解释all()查询所有数据first()那queryset中第一条数据last()那最后一条数据filter()带有过滤条件的查询,查询不到结果返回Noneget()带有guolv条件的查询,…...

京东数据挖掘(京东运营数据分析):2023年宠物行业数据分析报告

随着社会经济的发展,人均收入水平逐渐提高,使得宠物成为越来越多家庭的成员,宠物数量不断增长。伴随养宠人群的增多,宠物相关产业的发展也不断升温,宠物经济规模持续增长。 根据鲸参谋平台的数据显示,在宠物…...

五分钟k8s实战-Istio 网关

istio-03.png 在上一期 k8s-服务网格实战-配置 Mesh 中讲解了如何配置集群内的 Mesh 请求,Istio 同样也可以处理集群外部流量,也就是我们常见的网关。 其实和之前讲到的k8s入门到实战-使用Ingress Ingress 作用类似,都是将内部服务暴露出去的…...

vue-admin-template

修改登录接口 1.f12查看请求接口 模仿返回数据写接口 修改方式1 1.在env.devolopment修改 修改方式2 vue.config.js 改成本地接口地址 配置转发 后端创建相应接口,使用map返回相同的数据 修改前端请求路径 修改前端返回状态码 utils里面的request.js...

Go fsnotify简介

fsnotify是一个用Go编写的文件系统通知库。它提供了一种观察文件系统变化的机制,例如文件的创建、修改、删除、重命名和权限修改。它使用特定平台的事件通知API,例如Linux上的inotify,macOS上的FSEvents,以及Windows上的ReadDirec…...

分类预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多特征分类预测

分类预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多特征分类预测 目录 分类预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多特征分类预测分类效果基本描述程序设计参考资料 分类效果…...

【Python】Pandas(学习笔记)

一、Pandas概述 1、Pandas介绍 2008年WesMcKinney开发出的库,专门用于数据挖掘的开源python库 以Numpy为基础,借力Numpy模块在计算方面性能高的优势 基于matplotib,能够简便的画图 独特的数据结构 import pandas as pd2、Pandas优势 便…...

京联易捷科技与劳埃德私募基金管理有限公司达成合作协议签署

京联易捷科技与劳埃德私募基金管理有限公司今日宣布正式签署合作协议,双方在数字化进程、资产管理与投资以及中英金融合作方面将展开全面合作。 劳埃德(中国)私募基金管理有限公司是英国劳埃德私募基金管理有限公司的全资子公司,拥有丰富的跨境投资经验和卓越的募资能力。该集…...

Netty Review - 从BIO到NIO的进化推演

文章目录 BIODEMO 1DEMO 2小结论单线程BIO的缺陷BIO如何处理并发多线程BIO服务器的弊端 NIONIO要解决的问题模拟NIO方案一: (等待连接时和等待数据时不阻塞)方案二(缓存Socket,轮询数据是否准备好)方案二存…...

​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​

软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】 课本里章节里所有蓝色字体的思维导图...

M系列 Mac安装配置Homebrew

目录 首先,验证电脑是否安装了Homebrew 1、打开终端输入以下指令: 2、如图所示,该电脑没有安装Homebrew ,下面我们安装Homebrew 一、官网下载 (不建议) 1、我们打开官网:https://brew.sh/ …...

WebRTC简介及使用

文章目录 前言一、WebRTC 简介1、webrtc 是什么2、webrtc 可以做什么3、数据传输需要些什么4、SDP 协议5、STUN6、TURN7、ICE 二、WebRTC 整体框架三、WebRTC 功能模块1、视频相关①、视频采集---video_capture②、视频编解码---video_coding③、视频加密---video_engine_encry…...

网工内推 | 国企、上市公司售前,CISP/CISSP认证,最高18K*14薪

01 中电福富信息科技有限公司 招聘岗位:售前工程师(安全) 职责描述: 1、对行业、用户需求、竞争对手等方面提出分析报告,为公司市场方向、产品研发和软件开发提供建议; 2、负责项目售前跟踪、技术支持、需…...

阿里云99元VS腾讯云88元,双11云服务器价格战,谁胜谁负?

在2023年的双十一优惠活动中,阿里云推出了一系列令人惊喜的优惠活动,其中包括99元一年的超值云服务器。本文将带您了解这些优惠活动的具体内容,以及与竞争对手腾讯云的价格对比,助您轻松选择最适合的云服务器。 99元一年服务器优…...

1.jvm基本知识

目录 概述jvm虚拟机三问jvm是什么?java 和 jvm 的关系 为什么学jvm怎么学习为什么jvm调优?什么时候jvm调优调优调什么 结束 概述 相关文章在此总结如下: 文章地址jvm类加载系统地址双亲委派模型与打破双亲委派地址运行时数据区地址运行时数据区-字符串…...

前端---掌握WebAPI:DOM

文章目录 什么是DOM?使用DOM获取元素事件操作元素获取、修改元素内容获取、修改元素属性获取、修改表单元素属性:input获取、修改样式属性直接修改样式:行内样式通过修改class属性来修改样式 新增节点删除节点 什么是DOM? DOM&am…...

最优化基础(一)

最优化基础(一)1 最优化问题的数学模型 通俗地说,所谓最优化问题,就是求一个多元函数在某个给定集合上的极值. 几乎所有类型的最优化问题都可以用下面的数学模型来描述: m i n f ( x ) s . t . x ∈ Ω min\ f({x})\\ s.t. \ {…...

MorphoCopter:变形四旋翼无人机设计与控制技术

1. MorphoCopter:重新定义四旋翼无人机的形态与能力边界在无人机技术快速发展的今天,四旋翼飞行器已经成为从影视拍摄到灾害救援等多个领域的标配工具。然而,一个长期存在的硬件设计瓶颈始终未被突破——传统四旋翼的固定结构使其在需要通过狭…...

基于MultiFold无分箱反卷积的轻子-喷注方位角不对称性测量

1. 项目概述与核心物理动机在粒子物理的高能前沿,我们常常通过“撞击”基本粒子来窥探其内部结构,深度非弹性散射(DIS)就是其中最经典、最有力的探针之一。想象一下,你用一束极高能量的电子(或正电子&#…...

5分钟快速上手:AMD Ryzen处理器硬件调试完整指南

5分钟快速上手:AMD Ryzen处理器硬件调试完整指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode…...

基于物理的机器学习框架ϕML:高效精准预测材料断裂行为

1. 项目概述:当物理定律遇见神经网络在工程结构的设计与安全评估中,材料的断裂行为预测一直是个核心且棘手的难题。无论是飞机机翼的疲劳裂纹,还是桥梁承重构件的突然失效,精准的预测都能直接转化为安全边际和经济效益。传统上&am…...

从准确率到社会福利:机器学习在社会资源分配中的范式演进

1. 从预测到分配:为什么准确率不再是社会场景下机器学习的唯一目标 在过去的十几年里,我亲眼见证了机器学习从一个学术概念,成长为驱动我们数字生活乃至部分现实决策的核心引擎。从最初在实验室里调参,看着模型在MNIST数据集上的准…...

[智能体-35]:智能体 + 大模型协同扩展工具调用能力 详细阐述

大模型本身不具备调用工具的能力,大模型只提供调用工具的文本描述,智能体根据大模型的回复,进行匹配,匹配到对应的函数并执行,把执行的结果与上下文重新送给大模型,大模型根据上下文和工具调用的结果&#…...

基于进化算法的AutoML优化小分子药代动力学性质预测

1. 项目概述与核心价值在药物研发的漫长且昂贵的征途中,早期筛选环节就像是淘金,目标是从海量的小分子化合物中,快速、准确地识别出那些有潜力成为药物的“金子”。其中,药代动力学(Pharmacokinetics, PK&a…...

Vision Mamba边缘部署:从算法瓶颈到专用硬件加速器设计

1. 项目概述:为什么我们需要为Vision Mamba定制硬件?在边缘设备上部署视觉大模型,听起来就像让一台家用轿车去跑F1赛道——动力、空间、散热,处处都是瓶颈。传统的Transformer架构,比如ViT,虽然性能强悍&am…...

用Python复现电池寿命预测论文:从数据清洗到模型调优的完整实战(附代码)

用Python实战电池寿命预测:从特征工程到模型优化的全流程解析在新能源与储能技术快速发展的今天,锂离子电池的健康状态(SOH)预测已成为工业界和学术界共同关注的核心课题。不同于传统实验室环境下耗时数月的电池老化测试&#xff…...

国产系统(UOS/麒麟/方德)截图工具终极指南:从内置工具到第三方替代方案全解析

国产操作系统截图工具全攻略:从基础操作到高阶玩法在数字化办公时代,截图功能已成为日常工作中不可或缺的生产力工具。对于统信UOS、麒麟KOS、方德NFS等国产操作系统的用户而言,掌握系统内置截图工具的各项功能,并了解当内置工具无…...