适配器模式
// 定义需要被适配的类
class Socket {
output() {
return "220V";
}
}
// 定义抽象类
abstract class Power {
// 定义抽象类方法
abstract charge(): string;
}
// 这个是来 实现 抽象方法
class PowerAdaptor extends Power{
// 这里把他 定义成 公共的(public) 下面就可以识别到它了
constructor(public socket: Socket) {
super();
}
charge() {
return this.socket.output() + "转化为22V";
}
}
let adaptor = new PowerAdaptor(new Socket());
console.log(adaptor.charge());
结果如下:
举例说明:
如果我们的jquery 太久了没有维护了, 我们可以重新把ajax 改成axios的用法, 这个样子,
可以相当于做了一个适配, 只是举例说明, 并不推荐去改以前的代码, 防止出错
import $ from "jquery";
import axios from "axios";
// 这里的适配器 改成 axios的用法
function toAxiosAdaptor(options) {
return axios({
url: options.url,
method: options.type
});
}
// 写一个适配器 是改变里面的传参内容
$.ajax = function (options) {
return toAxiosAdaptor(options);
}
// 这个是jquery的方法
$.ajax({
url: "http://localhost:8080",
type: "GET",
success (data) {
console.log(data);
},
error(error) {
console.log(error);
}
});
想要vscode 运行ts 代码的插件
在全局安装一下依赖包
npm install typescript ts-node @types/node@* -g
然后 在选中需要执行的代码