包装你的依赖项

主要观点:

  • 要在代码中使用他人创建的库和工具时考虑进行封装,有多种封装方式。
  • 封装行为有诸多好处,如定义共同接口、便于测试、便于替换底层实现等。

关键信息:

  • 封装行为的方式:

    • 封装行为为函数,如用sanitizeHtml函数封装HtmlSanitizer的使用,方便在不同位置调用及更换库。
    • 封装行为为模块或类,如在 Ruby 代码中用MyHttpClient模块封装 HTTP 客户端的使用,便于更换库及处理不同的响应对象和错误处理。
    • 封装行为为 Stimulus 控制器,如在 Rails 应用中用select_box_controller控制器封装 jQuery 插件或 JS 库的使用,便于传递选项和默认值。
  • 封装的好处:

    • 定义并统一接口,包括输入和输出的形式。
    • 便于测试,可模拟或伪造封装的代码以确保其按预期行为。
    • 便于替换底层实现,降低代码与依赖之间的耦合度,使代码更灵活和易于维护。

重要细节:

  • 在不同语言和场景中的封装示例,如前端的HtmlSanitizersanitize-html,Ruby 中的HttpClient,Rails 中的choices.js等。
  • 强调封装虽然开始时可能代码量稍多,但从长远来看是值得的,能提高代码的可维护性和灵活性。
阅读 13
0 条评论