Angular 是Typescript@Component";“装饰师”;与装饰图案有关?
Component.ts文件中的Angular 是Typescript@Component";“装饰师”;与装饰图案有关?,angular,typescript,decorator,angular-decorator,typescript-decorator,Angular,Typescript,Decorator,Angular Decorator,Typescript Decorator,Component.ts文件中的@Component({})行称为装饰器。这与Decorator模式有关,还是不相关?它们是相关的,因为您使用附加功能装饰现有类。它们不一样,因为typescript@Decorator是在编译时应用的,而Decorator模式也可以用于在运行时修饰类,例如: let armoredenemy = new Armored(new Enemy()) let enemy = new Enemy() 当程序运行时,您仍然可以决定是否要装饰类 类型脚本装饰器: 现在是编
@Component({})
行称为装饰器。这与Decorator模式有关,还是不相关?它们是相关的,因为您使用附加功能装饰现有类。它们不一样,因为typescript@Decorator
是在编译时应用的,而Decorator模式也可以用于在运行时修饰类,例如:
let armoredenemy = new Armored(new Enemy())
let enemy = new Enemy()
当程序运行时,您仍然可以决定是否要装饰类 类型脚本装饰器:
现在是编译时间。这是一次但永久的改变,因为被装饰的班级与原来的班级不同。它很简单,基本上只是一个函数
常见的场景是在不同的类上应用一个decorator。例如:在Angular中,@injector decorator应用于各种类并使它们可注入
对于常规装饰图案:
常见的场景是在一个类上使用不同的装饰器。这是相当沉重的负担。您需要创建decorator类、decorator类和原始类的公共父类以及不同的子decorator类。原始类保持不变,您可以在运行时应用decorator
你有一堂咖啡课。您可以创建不同的装饰类:意式浓缩咖啡、卡布奇诺咖啡,如果需要,甚至是expresso+卡布奇诺咖啡
只要我的2美分