企业门户网站建设优势,网页制作成app,dw怎么把网站做的漂亮,室内设计师灵感网站什么是责任链
责任链模式是一种行为型设计模式#xff0c;将多个对象连接成一条链#xff0c;并且沿着这条链传递请求#xff0c;让多个对象都有机会处理这个请求#xff0c;请求会顺着链传递#xff0c;直到某个对象处理它为止,
它主要避免了请求发送者和接受者之间的耦…什么是责任链
责任链模式是一种行为型设计模式将多个对象连接成一条链并且沿着这条链传递请求让多个对象都有机会处理这个请求请求会顺着链传递直到某个对象处理它为止,
它主要避免了请求发送者和接受者之间的耦合增强了系统的灵活性和可扩展性。责任链模式的特点:
解耦请求发送者与接收者:请求发送者无需知道请求是由哪个处理器处理的。动态组合处理器:可以灵活地动态改变链的结构,请求沿链传递:请求可以由链中的一个或多个处理器处理,
一般用在什么场景?
请求需要多个处理器:例如日志记录的不同级别处理。动态指定处理流程:请求的处理方式不固定依赖于运行时的链条结构。消除条件分支:用责任链代替代码中的 if-else 或 switch-case 语句。
实战
则会使一个初始化 AI 客户端代码
/*** 初始化 AI 客户端* param dashscopeChatModel*/public LoveApp(ChatModel dashscopeChatModel) {// 初始化基于内存的对话记忆ChatMemory chatMemory new InMemoryChatMemory();chatClient ChatClient.builder(dashscopeChatModel).defaultSystem(SYSTEM_PROMPT).defaultAdvisors(new MessageChatMemoryAdvisor(chatMemory),//自定义日志 Advisornew MyLoggerAdvisor()// 自定义推理增强 Advisor可按需开启//new ReReadingAdvisor()).build();}它用的就是责任链模式核心就是
将多个 Advisor类似处理节点串联成一条链依次传递请求直到链末尾结束。每个节点都可以做前置处理拦截、修改请求、做后置处理拦截、修改响应责任链的“节点”Advisor 的调用顺序由 getOrder方法设置order 值越小优先级越高