废话少说,看代码!
Typescript的装饰器
装饰器(Decorator)模式 的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。
函数装饰器
1 |
|
类装饰器
1 | function age(target: Function) { |
1 | function setAge(param: string) { |
属性装饰器
1 | function hName(param: string) { |
方法装饰器
1 | function GET(url: string) { |
参数装饰器
1 |
|
状态模式
将每个状态封装成类,通过场景进行映射相关的状态类,从而实现状态模式
下面制作一个关于灯光的场景,灯光按钮有三种状态,按每一个按钮,都会触发一个信号,并把下一个状态传递给下一个类
1 | // 这是灯光状态的抽象类 |
关于排序的三种算法
- 算法
冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
1 | let bubbleSort = function (arr:number[]):number[]{ |
观察者模式
通常说对于事件的监听并触发回调函数就是观察者模式
1 |
|
代理模式
当客户程序不断地访问本体程序,会产生副作用,譬如垃圾请求、不符合规范的请求,或者是本体程序尚未做好准备,所以需要通过代理的规范请求内容,过滤不符合要求的请求,这就是代理模式
1 |
|