设计模式详解14:责任链模式(Chain of Responsibility) - 请求处理的链式传递

🎯 什么是责任链模式? 生活中的例子 想象一下公司的请假审批流程:你要请假,需要按级别逐级审批。普通请假找直接主管;超过3天找部门经理;超过一周找总监;超过半个月找VP。每一级都有自己的审批权限,如果超出权限就传递给上级。这样形成了一条审批链,每个环节都有机会处理请求,也可以将请求传递给下一个环节。这就是责任链模式的核心思想:将请求的发送者和接收者解耦,让多个对象都有机会处理请求,将这些对象连成一条链,沿着这条链传递请求,直到有对象处理它为止。 ...

2024-12-14 · 22 min · lesshash

设计模式详解13:命令模式(Command) - 将请求封装为对象的行为艺术

🎯 什么是命令模式? 生活中的例子 想象一下餐厅点餐的过程:你(客户)不直接告诉厨师(接收者)要做什么菜,而是告诉服务员(调用者)你的需求,服务员把你的需求写在订单上(命令对象),然后把订单传给厨师。订单上清楚地记录了:要做什么菜、桌号、特殊要求等。厨师根据订单制作菜品,如果需要,订单还可以取消。这个订单就是一个命令,它封装了请求的所有信息。这就是命令模式的核心思想:将请求封装为对象,从而可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 ...

2024-12-13 · 18 min · lesshash