Content
8 Lessons • 0 Quizzes • 0 Challenges
Node.js 模式入门
- 1
为什么设计很重要
- 2
SOLID 原则
工厂模式:动态生成配置驱动的服务
- 1
理解工厂模式
- 2
创建环境特定的数据库客户端工厂
- 3
解决方案:创建一个环境特定的数据库客户端工厂
- 4
添加特性标志的记录器实例化
- 5
解决方案:添加特性标志记录器实例化
- 6
构建一个供应商无关的 API 客户端工厂
- 7
解决方案:构建一个供应商无关的 API 客户端工厂
- 8
实现一个基于配置的通知服务工厂
- 9
解决方案:实现一个基于配置的通知服务工厂
- 10
使用 ES 模块动态加载数据库客户端
- 11
解决方案:使用 ES 模块动态加载数据库客户端
- 12
创建一个可插拔的支付处理器工厂
- 13
解决方案:创建一个可插拔的支付处理器工厂
- 14
创建一个带有特性标志的分析服务
- 15
解决方案:创建一个带特性标志的分析服务
- 16
构建多租户服务工厂
- 17
解决方案:构建一个多租户服务工厂
- 18
用于动态组合中间件链的工厂
- 19
解决方案:用于动态组合中间件链的工厂
Builder Pattern:使用流畅的 API 组装复杂对象
- 1
理解建造者模式
- 2
构建一个最小化的电子邮件模板生成器
- 3
解决方案:构建一个最小化的电子邮件模板生成器
- 4
创建一个流畅的披萨订单构建器
- 5
解决方案:创建一个流畅的披萨订单构建器(concept)
- 6
构建一个简单的验证规则生成器
- 7
解决方案:构建一个简单的验证规则生成器(concept)
- 8
构建一个灵活的产品查询构建器
- 9
解决方案:构建一个灵活的产品查询构建器
- 10
使用条件参数设计一个 URL 构建器
- 11
解决方案:使用条件参数设计一个 URL 构建器(concept)
- 12
实现一个可链式调用的日志配置构建器
- 13
解决方案:实现一个可链式调用的日志配置构建器
- 14
在注册表单中强制执行必填的构建顺序
- 15
解决方案:在注册表单中强制执行必需的构建顺序
- 16
使用嵌套构建器模拟 GraphQL 查询
- 17
解决方案:使用嵌套构建器模拟 GraphQL 查询
- 18
使用验证规则构建表单模式生成器
- 19
解决方案:使用验证规则构建表单模式生成器
装饰器模式:在不修改核心逻辑的情况下扩展行为
- 1
理解装饰器模式
- 2
向工具函数添加日志记录
- 3
解决方案:向工具函数添加日志记录
- 4
异步任务执行时间测量
- 5
解决方案:测量异步任务的执行时间
- 6
在服务方法上链式使用多个装饰器
- 7
解决方案:在服务方法上链式使用多个装饰器
- 8
为路由处理器添加授权
- 9
解决方案:向路由处理器添加授权
- 10
将配置注入装饰器
- 11
解决方案:将配置注入装饰器
- 12
使用装饰器跟踪函数调用次数
- 13
解决方案:使用装饰器跟踪函数调用次数
- 14
使用指标装饰可重试操作
- 15
解决方案:使用指标装饰可重试操作
- 16
无需修改核心逻辑即可添加缓存
- 17
解决方案:在不修改核心逻辑的情况下添加缓存
- 18
根据配置动态组合装饰器
- 19
解决方案:根据配置动态组合装饰器
适配器模式:在依赖项之间标准化接口
- 1
理解适配器模式
- 2
统一 HTTP 客户端响应
- 3
解决方案:统一 HTTP 客户端响应
- 4
标准化日志记录器接口
- 5
解决方案:标准化日志记录器接口
- 6
标准化文件存储客户端
- 7
解决方案:标准化文件存储客户端
- 8
桥接回调与 Promise API
- 9
解决方案:桥接回调和 Promise API
- 10
统一缓存客户端
- 11
解决方案:统一缓存客户端
- 12
适配配置源
- 13
解决方案:适配配置源
- 14
组合嵌套适配器
- 15
解决方案:组合嵌套适配器
- 16
用于回退 API 的混合服务适配器
- 17
解决方案:用于回退 API 的混合服务适配器
- 18
异步流式适配器
- 19
解决方案:异步流式适配器
代理模式:透明地拦截和控制访问
- 1
理解代理模式
- 2
在配置对象上记录每一次属性读取
- 3
解决方案:在 Config 对象上记录每一次属性读取
- 4
防止意外修改只读设置
- 5
解决方案:防止意外修改只读设置
- 6
自动默认缺失值
- 7
解决方案:自动默认缺失值
- 8
懒加载一个重型服务,仅在首次使用时加载
- 9
解决方案:仅在首次使用时懒加载一个重型服务
- 10
在服务方法上强制实施基于角色的访问控制
- 11
解决方案:在服务方法上强制实施基于角色的访问控制
- 12
在不修改源代码的情况下塑造旧版 API 响应
- 13
解决方案:在不修改源代码的情况下,对旧版 API 响应进行形状定义
- 14
透明地跟踪 API 使用指标
- 15
解决方案:透明地跟踪 API 使用指标
- 16
通过代理缓存昂贵的函数调用
- 17
解决方案:通过代理缓存昂贵的函数调用
- 18
通过网络模拟代理远程对象
- 19
解决方案:通过网络模拟代理远程对象
策略模式:根据上下文切换算法
- 1
理解策略模式
- 2
使用可插拔算法对报告进行排序
- 3
解决方案:使用可插拔算法对报告进行排序
- 4
以多种风格格式化问候语
- 5
解决方案:以多种样式格式化问候语
- 6
为营销活动应用灵活折扣
- 7
解决方案:为营销活动应用灵活折扣
- 8
使用可选后端缓存数据
- 9
解决方案:使用可选择的后端缓存数据
- 10
通过已配置的网关处理支付
- 11
解决方案:通过已配置的网关处理支付
- 12
使用可切换编码器压缩文件
- 13
解决方案:使用可切换编码器压缩文件
- 14
计算实验组的价格
- 15
解决方案:为实验组计算价格
- 16
使用可配置的登录和令牌认证用户
- 17
解决方案:使用可配置的登录和令牌认证用户
- 18
使用自定义策略重试失败的请求
- 19
解决方案:使用自定义策略重试失败的请求
结语
- 1
更大的图景
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:Anonymous User