《JAVA与模式》学习笔记之类图中的关系

AI Agent核心架构解析:从Tool、Skill到MCP协议的智能体构建实战 在人工智能领域,大语言模型(LLM)赋予了AI自主规划与决策的能力,推动了智能体(Agent)技术的演进。其核心原理在于构建一个具备感知、规划、行动与反思能力的自主系统。这一架构的技术价值在于将AI从被动应答升级为主动执行复杂任务的工作伙伴,显著提升了自动化水平与问题解决效率。应用场景广泛覆盖了市场分析、自动化办公、智能客服与垂直领域集成等。本文聚焦于实现这一能力的关键组件:基础工具(Tool)、组合技能(Skill)与标准化协议(MCP)。其中,Skill通过封装多个Tool形成可复用的高级能力,而MCP 阅读详情

《JAVA与模式》学习笔记之类图中的关系

在类与类之间,会有连线指明它们之间的关系。关系包括以下几种:

 

一般化关系:

一般化关系表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化关系是从子类指向父类的,或从实现接口的类指向被实现的接口。如:

         

 

关联关系:

关联关系是类与类之间的连接,它使一个类指到另一个类的属性和方法。关联关系一般是使用实例变量实现的。如:

    在每一个关联的端点,还可以有一个基数,表明这一端的类可以有几个实例。常见的基数如下表:

基数

含义

0….1

零或一个实例

0…*或*

对实例的数目没有限制

1

只有一个实例

1….*

至少一个实例

 

聚合关系:

聚合关系是关联关系的一种,是强的关联关系。聚合是整体和个体之间的关系。例如:汽车类与引擎类、轮胎类之间的关系。

与关联关系一样,聚合关系也是通过实例变量实现的。但关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类一个代表整体,一个代表部分。

 

合成关系:

合成关系是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系是不能共享的。也就是说,代表部分的对象在某一时刻只能与一个对象发生合成关系,由后者排他地负责其生命周期。

 

依赖关系:

依赖关系也是类与类之间的连接,依赖总是单向的。依赖关系表示一个类依赖于另一个类的定义。一个人可以买车和房子,人依赖与车类和房子类。与关联关系不同的是,Person类中没有Car和House类型的属性,Car和House是以参量的形式传入到buy()方法中去的。如:

class Person

{

public void buy(Car car)

{

 

};

public void buy(House house)

{

};

}

一般而言,依赖关系在JAVA中体现为局域变量、方法的参量、以及对静态方法的调用。

最新扣子智能体教程:手把手教你接入抖音评论区,实现自动回复 摘要:本文介绍如何利用扣子(Coze)平台搭建智能体实现抖音评论自动回复。从准备工作(账号注册、权限申请)到智能体创建(提示词优化、模型选择),再到抖音API接入和自动回复逻辑设置,详细说明了每个步骤的操作方法。文章还提供了回复模板示例和优化建议,帮助提升互动效率。通过这套方案,创作者可以显著减轻评论区管理压力,增强用户互动体验。(149字) 阅读详情

相关推荐

PSO算法介绍

结合网上的文章对PSO进行一些介绍,并附上自己复现的算法。

Witty_Hou的博客 1万+

35 个你也许不知道的 Google 开源项目

35 个你也许不知道的 Google 开源项目

BearKeeper的专栏 678

从半导体物理到实战:手把手教你测量MOS管体二极管的Vf和Trr

本文深入探讨了MOSFET体二极管的关键参数测量方法,重点讲解了正向压降(Vf)和反向恢复时间(Trr)的测量原理与实战步骤。通过搭建测试平台,使用万用表和示波器等工具,手把手指导如何量化这些影响开关损耗和效率的核心参数,并对比分析了硅基与碳化硅(SiC)器件在体二极管性能上的显著差异。

n7o8p的博客 341

35个你也许不知道的Google开源项目

Google是支持开源运动的最大公司之一,它们现在总共发布有超过500个的开源项目(大部分都是利用它们的API来完成),本文将列举一些有趣的开源项目,其中很可能有不少你不知道的哦。 文本文件处理: Google CRUSH (Custom Reporting Utilities for ...

chenqunan3231的博客 121

华为eNSP Pro实战:NE/CE设备SSH远程配置避坑指南

本文针对华为eNSP Pro用户在模拟多台NE路由器或CE交换机时遇到的浏览器卡顿问题,提供了详细的SSH远程配置避坑指南。通过对比浏览器与SSH客户端的资源占用和操作体验,文章详细阐述了为NE和CE设备配置SSH服务的关键步骤、命令差异及常见错误排查方法,旨在帮助用户提升实验效率,实现稳定高效的远程管理。

weixin_29196891的博客 223

告别拼音!用VSCode+Dosbox-X搞定汇编语言课程设计里的中文姓名显示

本文详细介绍了如何利用VSCode和Dosbox-X解决汇编语言课程设计中中文姓名显示的问题。通过配置开发环境、理解GB2312编码及正确使用汇编指令,学生可以告别拼音显示,实现中文字符的正确输出。文章还提供了完整的代码示例和常见问题排查方法,帮助读者快速掌握这一实用技能。

weixin_30872337的博客 425

【转载】35 个你也许不知道的 Google 开源项目

Google是支持开源运动的最大公司之一,它们现在总共发布有超过500个的开源项目(大部分都是利用它们的API来完成),本文将列举一些有趣的开源项目,其中很可能有不少你不知道的哦。 文本文件处理: Google CRUSH (Custom Reporting Utilities for SHell) CRUSH是为命令行或shell scripts处理特定文字数据而制作的一系...

aa8621090的博客 223

在Ubuntu 22.04上从零搭建TrinityCore 3.3.5服务器:一份保姆级避坑指南

本文详细介绍了在Ubuntu 22.04系统上从零搭建TrinityCore 3.3.5服务器的完整流程,包括环境准备、源码编译、数据库配置、资源文件处理及性能调优等关键步骤。特别针对国内开发者和低配置用户优化,提供保姆级避坑指南,帮助用户高效搭建魔兽世界经典旧世版本私服。

weixin_33393017的博客 304

35 个你也许不知道的Google开源项目

Google是支持开源运动的最大公司之一,它们现在总共发布有超过500个的开源项目(大部分都是利用它们的API来完成),本文将列举一些有趣的开源项目,其中很可能有不少你不知道。 文本文件处理: Google CRUSH (Custom Reporting Utilities for SHell) CRUSH是为命令行或shell scripts处理特定文字数据而制作的一系列工具,这里有指南。 C++库和源代码: Google Breakpad 一个开源的多平台崩溃报告系统。 Google GF

骑驴走天下 的专栏 807

保姆级教程:用STM32标准库搞定TIM1的PWM输出(附完整代码和避坑点)

本文提供STM32F103高级定时器TIM1的PWM输出保姆级教程,涵盖从工程搭建到完整代码实现的详细步骤。重点解析TIM1作为高级定时器的特殊配置要点,包括时钟初始化、PWM通道设置和GPIO复用功能,并附常见问题排查指南和动态调整占空比的实用技巧,帮助开发者高效实现精准PWM控制。

weixin_30673611的博客 433

C# Modbus通信从入门到精通(2)——Modbus RTU协议原理

本文详细的介绍了Modbus RTU协议的原理,由多年经验高级工程师实战总结而成,绝对干货!

qq_34059233的博客 6388
上一篇: 设计模式C#描述——工厂方法模式
下一篇: 《JAVA与模式》学习笔记之面向对象设计原则
mutou23
博客等级 码龄24年 3粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值