前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TypeScript系列教程十一《装饰器》 -- 装饰器与继承

TypeScript系列教程十一《装饰器》 -- 装饰器与继承

作者头像
星宇大前端
发布2022-05-06 17:18:26
5290
发布2022-05-06 17:18:26
举报
文章被收录于专栏:大宇笔记

装饰器 并不是 TypeScript特有的,他是一种设计模式,对于这种设计模式和之前学过的继承、适配器、组合的模式有些类似,这里再盘点一下。

系列教程

装饰器模式的概念

装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。

这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。

TypeScript装饰器分类

TypeScript 的装饰器可以分为:

  • 类装饰器
  • 方法装饰器
  • 属性装饰器
  • 参数装饰器

装饰器应用场景

最常见的在web 服务里,看到的请求@post @get 等修饰函数,

还有经典的注入模式。

案例可以参考:Angular 中的依赖注入

装饰器模式和继承的区别

对于我们继承,我们很熟悉了,需要不需要的东西,子类继承了父类,父类一股脑的塞给你了。

所以后来提出来了组合大于继承的概念,装饰器我感觉像是组合的语法糖版本。

组合大于继承 = 装饰器大于继承,对于继承用不好是非常重的,控制不住往父类塞东西越来越多。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系列教程
    • 装饰器模式的概念
      • TypeScript装饰器分类
        • 装饰器应用场景
          • 装饰器模式和继承的区别
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档