知识卡片

责任链模式可作为需求变化的补救方案

普通读书笔记卡 · 1988.a.3

内容

[[责任链模式的定义与传递判断机制]]也适合在需求变化时作为补救方案:最初只处理人民币 存款,业务发展后需支持美元日元,不用责任链就要不断改判断逻辑;引入后只需在原有处理者 后追加新节点,原逻辑不用改。另一案例是VIP/普通用户注册按标识分发到对应节点处理。发散: 这体现[[开闭原则的定义]]“对扩展开放”——新增处理类型只需新增节点,不改既有代码。

参考来源

- 位置:《设计模式之禅(第2版)》第16章《责任链模式》(源文件:_epub-src/text/part0074.html) - 结论依据:原文举例存款币种从人民币扩展到美元、日元时通过在链后追加处理节点应对,以及VIP/普通用户注册激活流程不同、统一通过责任链入口按用户标识分发处理的实际项目案例。 - 原始内容:一个请求(如银行客户存款的币种),一个处理者(只处理人民币),但是随着业务的发展……处理者的数量和类型都有所增加,那这时候就可以在第一个处理者后面建立一个链……甭管从前台传递过来的是VIP用户信息还是普通用户信息,统一传递到一个处理入口,通过责任链来完成任务的处理。