首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏漫漫架构路

    MyBatis设计思想(2)——日志模块

    MyBatis设计思想(2)——日志模块 一. 痛点分析 作为一个成熟的中间件,日志功能是必不可少的。那么,MyBatis是要自己实现日志功能,还是集成第三方的日志呢? () { setImplementation(org.apache.ibatis.logging.log4j2.Log4j2Impl.class); } public static synchronized + 2]; Arrays.fill(buffer, '='); buffer[queryStack * 2 + 1] = ' '; if (isInput) { buffer 打印PreparedStatement中的动态参数信息 * 2. 拦截setXXX()方法,记录封装的参数 * 3. 通过事务获取JDBC Connection Connection connection = transaction.getConnection(); //2.

    68030发布于 2020-09-03
  • 来自专栏java思维导图

    《Spring设计思想》AOP设计思想与原理

    Java程序运行在JVM中的特征 2. Java程序的执行流【了解AOP、连接点(Join Point)、切入点(point cut) 的概念 】 3. 2. 弄清楚这个问题,你不得不了解设计模式中的代理模式了。下面我们先来了解一下引入了代理模式的Java程序执行流是什么样子的。 3. 关于代理模式 代理模式属于Java代码中经常用到的、也是比较重要的设计模式。代理模式可以为某些对象除了实现本身的功能外,提供一些额外的功能,大致作用如下图所示: ? -----即确定 AOP的切入点(Point Cut),这个可以通过切入点(Point Cut)表达式来完成; 2. 对应的的类的方法的执行特定时期给出什么处理建议?

    1.3K10发布于 2018-12-24
  • 来自专栏XINDOO的专栏

    Agent设计模式——第 2 章:路由

    例如,一个设计用于客户查询的 Agent,当配备路由功能时,可以首先对传入查询进行分类以确定用户的意图。 实际应用与用例 路由模式是自适应 Agent 系统设计中的关键控制机制,使它们能够动态改变其执行路径以响应可变输入和内部状态。其效用通过提供必要的条件逻辑层跨越多个领域。 在涉及多个专门工具或 Agent 的复杂系统中,路由充当高级调度器。由用于搜索、总结和分析信息的不同 Agent 组成的研究系统将使用路由器根据当前目标将任务分配给最合适的 Agent。 详细来说,它定义了三个模拟子 Agent 处理程序:bookinghandler、infohandler 和 unclear_handler,每个都设计用于处理特定类型的请求。 代码结构模仿了基本的多 Agent 框架,其中中央协调器根据意图将任务委托给专门的 Agent

    1.1K10编辑于 2025-10-27
  • 来自专栏XINDOO的专栏

    Agent设计模式——第 15 章:Agent 间通信(A2A)

    Agent 间通信模式概述 Agent2Agent(A2A)协议是旨在实现不同 AI Agent 框架间通信与协作的开放标准。 核心参与者:A2A 涉及三个主要实体: 用户:发起对 Agent 协助的请求。 A2A 客户端(客户端 Agent):代表用户请求操作或信息的应用程序或 AI Agent。 每个任务被分配唯一标识符,并通过一系列状态(如已提交、工作中或已完成)移动,此设计支持复杂操作中的并行处理。Agent 间通信通过消息进行。 它允许远程 Agent 持续推送更新(如状态更改或部分结果),而无需客户端发出多个请求。 推送通知(Webhook):专为非常长时间运行或资源密集型任务设计,其中维护恒定连接或频繁轮询效率低下。 因此,深入理解 A2A 的核心组件和操作方法对有效设计、实施和应用协作式、互操作 AI Agent 系统至关重要。

    1.8K10编辑于 2025-10-27
  • 来自专栏阮一峰的网络日志

    jQuery设计思想

    我对它做了一个详细的笔记,试图理清jQuery的设计思想,找出学习的脉络。我的目标是全面掌握jQuery,遇到问题的时候,心里有底,基本知道使用它的哪一个功能,然后可以迅速从手册中找到具体的写法。 =========================================== jQuery设计思想 原文网址:http://jqfundamentals.com/book/ 阮一峰 翻译整理 jQuery设计思想之四,就是使用同一个函数,来完成取值(getter)和赋值(setter),即"取值器"与"赋值器"合一。到底是取值还是赋值,由函数的参数决定。    五、元素的操作:移动 jQuery设计思想之五,就是提供两组方法,来操作元素在网页中的位置移动。一组方法是直接移动该元素,另一组方法是移动其他元素,使得目标元素达到我们想要的位置。 八、事件操作 jQuery设计思想之七,就是把事件直接绑定在网页元素之上。   

    2.8K60发布于 2018-04-12
  • 来自专栏前端博客

    Taro架构构析(2):Taro 设计思想及架构

    从开发方式上看,在前端工程化思想深入人心的今天,小程序的种种开发方式显得有些落后了,主要体现在以下几个方面:没有自定义文件预处理,无法直接使用 Sass、Less 以及较新的 ES.Next 语法;字符串模板太过孱弱 所以,从开发方式上看,小程序开发没有融入目前主流的工程化开发思想,很多业界开发模式与工具没有在小程序开发中得到相应体现,像是从前端工业时代回退到了刀耕火种的年代。 多端转换原理开发时我们遵循 React 语法标准,结合编译原理的思想,对代码文件进行一系列转换操作,最终获得可以在小程序运行的代码。 React 来写小程序 - Taro 诞生记 https://aotu.io/notes/2018/06/25/the-birth-of-taro/index.html转载本站文章《Taro架构构析(2) :Taro 设计思想及架构》,请注明出处:https://www.zhoulujun.cn/html/webfront/AppDev/taro/8497.html

    99310编辑于 2023-04-09
  • 来自专栏高性能分布式系统设计

    基于 CSP 的设计思想和 OOP 设计思想的异同

    Go语言推崇的CSP编程模型和设计思想,并没有引起很多Go开发者包括Go标准库作者的重视。标准库的很多设计保留了很浓的OOP的味道。本篇Blog想比较下从设计的角度看,CSP和OOP到底有什么区别。 理清楚系统中各种对象(类)的作用关系,设计接口的细节。这里的接口,其实就是对象之间相互发送的同步阻塞的消息。 设计错误处理,日志等。 从性能方面审视整个设计,优化。 设计错误处理,日志等。 从性能方面审视整个设计,优化。 ===== OOP、FP、CSP、Actor等思想,其实都是在做取舍,究竟要隐藏那些细节暴露那些功能。如果什么都不考虑,那就是汇编了(近似的说法)。没有最优的设计思想只有合适的设计思想。 需要强调的是OOP并没有什么特别的不好的,相反OOP具有巨大的优势,就是容易设计。 CSP虽然会要求从设计上改变即有思路,耗费较多的脑力,但其设计方案简单容易扩展,具有巨大的优势。

    1.5K40发布于 2018-04-13
  • 来自专栏DPU

    libfabric_ofa_简介_指南_设计思想_高性能网络2

    上文: libfabric_ofa_简介_指南_设计思想_高性能网络1: https://cloud.tencent.com/developer/article/2531002 Memory Footprint So, bytes 2k-3k could be received before bytes 1k-2k. 因此,可以在字节 1k-2k 之前接收字节 2k-3k。消息排序不关心消息的within 排序,只关心between 消息的排序。对于有序消息,消息本身需要按顺序处理。 完成服务的设计考虑了高性能、低延迟。 调用直接映射到提供程序,并定义数据结构以最小化内存写入和缓存影响。 完成服务没有相应的套接字 API。 OFI 中的数据传输服务是围绕不同的通信范式设计的。尽管显示在数据传输服务之外,但触发操作与数据传输操作密切相关。 有四个基本的数据传输接口集。

    36510编辑于 2025-06-13
  • 来自专栏Super 前端

    JavaScript组件设计思想

    在最后一次交接会议上,田老师阐述了一个观点,“当你学会了用‘分层思想’去看待事情,任何的问题都不是问题,都可以实现”。当然,这里说的是在程序设计方面。自己觉的很有道理,但是体会不是很深。 随即,我们组织了分享讨论会,让匡哥讲述其重构过程中的设计思路。 这不就是“分层思想”的一种体现吗?我陷入了沉思~~~ 现在,大前端流行组件化、模块化。然而,我们的模块又该如何设计实现呢? 2. * (2)render抽出来,用户只需要实现setUp方法。如果需要模板支持就在setUp里面调用render来渲染模板 * (3)可以通过setChuckdata来刷新模板,实现单向绑定。

    1K51发布于 2019-08-15
  • 来自专栏竹蜻蜓技术专栏

    HashMap 源码设计思想

    分析 HashMap 的源码的文章在互联网上面已经数不胜数了,本文就不着重分析 HashMap 源码实现,而是从 HashMap 的设计思想角度入手。 在链表数据不多的时候,使用链表进行遍历也比较快,只有当链表数据比较多的时候,才会转化成红黑树,但红黑树需要的占用空间是链表的 2 倍,考虑到转化时间和空间损耗,所以我们需要定义出转化的边界值。 在考虑设计 8 这个值的时候,我们参考了泊松分布概率函数,由泊松分布中得出结论,链表各个长度的命中概率为: * 0: 0.60653066 * 1: 0.30326533 * 2: 0.07581633 扩容是变成原先容量的 2 倍 HashMap的扩容是将旧数组的数据复制到新数组,这种效率还是很低的,所以尽量在初始化指定容量。 Hash函数 我们先来看看 Java 8 的 hash 函数。 2:计算 hash 值时,为什么需要右移 16 位?

    84730发布于 2020-07-08
  • 来自专栏程序生涯

    面向对象设计思想

    1、面向过程 我开车、我挂档、我踩油门、我过河北、我过山西 2、面向对象 我命令车去新疆 车怎么去我不管 (信息封装在车这个类里面。 xx是xx的一部分) 每一种继承下来的类都有自己的实现方法,但父类并不知道其实现方法 问题中有哪些类和对象 每个类和对象所具有的属性和方法 类与类之间具有哪些关系 为了解决以下问题: 1、软件重用性差 2

    47410发布于 2020-08-14
  • 来自专栏云端漫步

    ​缓存的设计思想

    使用缓存 缓存在系统设计中不可缺少,实现了以空间换时间,提高了系统的性能和减少了系统的处理时间。 例如这样的一个简单问题:我们要计算1到n(n>1)自然数的和? 让缓存中的数据自动失效 设计淘汰算法 缓存自动过期处理 首先通过让cache中的数据失效, 基于以上的示例,做简单的优化,我的处理思路是设置一个定时器,到期后,map中的key全部失效。 delete(dic, key) } } } 使用goroutine运行一个定时任务,5秒清理一次map,这个cache数据过期处理的粒度有些过大,在做cache设计时 并替换为新的数据 LRU最近最久未使用淘汰规则 LRU这个算法经常被提及,也是使用的最普遍,每次set和get时,都将第一次该数据插入链表的头部 再次对这三种缓存的淘汰算法做了简单的说明,其中会设计到一些数据结构的使用

    74220发布于 2019-08-21
  • 来自专栏cwl_Java

    前端基础-MVVM设计思想

    第5章 MVVM设计思想 MVC 设计思想: M: model 数据模型层 提供数据 V: Views 视图层 渲染数据 C: controller 控制层 调用数据渲染视图 MVVM 设计思想

    1.1K10发布于 2020-03-26
  • 来自专栏陶士涵的菜地

    javaweb的mvc设计思想

    的经典三层结构: dao javabean servlet ==> service jsp javabean: javabean是一个遵循特定写法的java类 1.这个java类必须有一个无参的构造函数 2.

    68730发布于 2019-09-10
  • 来自专栏XINDOO的专栏

    Agent设计模式——附录 G - 编码 Agent

    开发者负责为 Agent 团队成员精心组装完整"任务简报",包括: 完整代码库: 提供全部相关源代码,使 Agent 理解现有模式与逻辑结构。 外部知识集成: 补充特定文档、API 定义或设计规范。 本框架致力于在人类领导与底层模型原始能力间建立最纯净对话通道,确保每个 Agent 均以峰值潜力运行。 该框架构建为专业化 Agent 团队,每个 Agent 针对开发生命周期中的核心功能专门设计。 核心组件架构 为高效运用前沿大语言模型,本框架将不同开发角色分配给专业化 Agent 团队。这些 Agent 并非独立应用,而是通过精心设计的角色特定提示与上下文在 LLM 中调用的概念化人格。 明确界定"目标愿景"与"设计 rationale",借助 Agent 团队加速"实施方案"落地。作为设计决策的最终仲裁者,确保各组件严格遵循项目长期愿景与质量标准。 通过将战术执行委派予 Agent,开发者得以将认知资源聚焦于真正核心领域:战略创新、韧性架构设计,以及打造用户惊喜产品所需的创造性问题破解。

    46510编辑于 2025-10-27
  • 来自专栏达达前端

    SPA和MVVM设计思想

    Vue基础篇设计模式SPAMVVMVue简介Vue的页面基本使用Vue的全局环境配置基本交互 插值表达式基础指令 v-text v-html v-pre v-once v-cloak v-on MVVMmvvm model-view-viewModel 模型,视图,视图模型 模型:指的是构成页面内容的相关数据包含:前端定义的数据,后端传递的数据视图:指的是呈现给开发这和用户查看的展示数据的页面视图模型:mvvm设计模式的核心思想 ,它是连接view和model的桥梁 model数据,view-model视图数据模型,view视图 前端实现mvvm设计思想的框架,其目的都是为了高度封装view-model的交互过程,让开发这只关心页面构成和数据构成

    67420编辑于 2022-04-29
  • 来自专栏js笔记

    vuex和redux设计思想

    Redux对于JavaScript应用而言是一个可预测状态的容器。 Redux最主要是用作应用状态的管理。简言之,Redux用一个单独的常量状态树(对象)保存这一整个应用的状态,这个对象不能直接被改变。当一些数据变化了,一个新的对象就会被创建(使用actions和reducers)\

    84640编辑于 2022-10-25
  • 来自专栏Super 前端

    JavaScript组件设计思想(二)

    2016年3月份曾写过一篇文章《JavaScript组件设计思想》其中描述了一些实现组件化的方式,以及降低各组件耦合度的说明。其中“事件机制”不失为好的选择! var src = {a: {b: 1}, c: 1}; var des = {}; Object.assign(des, src); src.a.b = 2; src.c = 2; console.log (des.a.b); // 2 console.log(des.c); // 1 混入方式实现思路清晰,但需要将Event构造函数修改一下,因为其只能扩展自身属性和方法。

    71641发布于 2019-08-15
  • 来自专栏优派编程

    程序设计思想

    程序设计思想是指在程序设计过程中所采用的一种思维方式,它是程序设计的灵魂和基础。程序设计思想的正确与否直接关系到程序的质量和可维护性。 在实际的程序设计中,我们需要遵循一定的程序设计思想,以确保程序的正确性、可读性和可维护性。一、面向对象编程思想面向对象编程思想是一种将程序看作一个对象的思想。 这种思想的优点在于可以将程序中的各个部分组织成一个整体,使得代码更加模块化和易于维护。在面向对象编程中,需要采用类和继承的思想设计程序。 这种思想的优点在于可以使得程序更加简洁和清晰,同时也可以减少程序中的重复代码。在函数式编程中,需要采用纯函数和高阶函数的思想设计程序。 三、并发编程思想并发编程思想是指在多线程环境下进行程序设计思想。在并发编程中,需要考虑如何安全地处理共享数据以及如何保证线程之间的同步和互斥。

    35910编辑于 2023-12-20
  • 来自专栏零基础自学Java

    【JavaWeb】65:JDBC设计思想

    对于Java来说,它要解决如下问题: 数据库软件是有很多的:MySQL、Oracle、db2、SqlServer……等等。 连接MySQL,要去研究MySQL如何编写。

    79820发布于 2020-07-30
领券