From c0eb2da7ef79cfe3443bc30b8e4d6281816ee83d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=AD=E5=9F=8E=E5=B0=8F=E5=88=98?= Date: Thu, 14 Sep 2023 17:05:57 +0800 Subject: [PATCH] Update 1.110.md --- Chapter1 - iOS/1.110.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Chapter1 - iOS/1.110.md b/Chapter1 - iOS/1.110.md index a7ea339..e366d4c 100644 --- a/Chapter1 - iOS/1.110.md +++ b/Chapter1 - iOS/1.110.md @@ -148,7 +148,13 @@ typedef NS_ENUM(NSUInteger, OrderSubmitReminderType) { ## 方案 -那能不能优化呢?有2个思路:责任链设计模式、工厂设计模式 +那能不能优化呢?有3个思路:责任链设计模式、工厂设计模式、策略模式 + +策略模式:当需要根据客户端的条件选择算法、策略时,可用该模式,客户端会根据条件选择合适的算法或策略,并将其传递给使用它的对象。典型设计前端 Vue-Validator form 各种 rules + +职责链模式:当需要根据请求的内容选择处理器时,可用该模式,请求会沿着链传递,直到被处理,如 Node 洋葱模型 + +不过目前来看,策略模式被 Pass 了 ### 责任链设计模式 @@ -355,4 +361,6 @@ OrderSumitValidatorFactory { - 没有重复逻辑,判断方法都守口在基类中 - 优先级的关系维护在不同的子类中,各司其职,独立维护 -最后选什么?组合优于继承,个人倾向使用责任链模式去组织。 \ No newline at end of file +最后选什么?组合优于继承,个人倾向使用责任链模式去组织。 + +