功能:定义一个操作数据库的库,支持 Mysql MongoDb Mssql
要求:Mysql、Mssql 与 MongoDb 功能一样,都有 add、update、delete、get 方法
注意:约束统一的规范,以及代码复用
解决方法:需要约束规范所以要定义接口,需要代码复用所以用到泛型
- 接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范
- 泛型:通俗理解泛型就是解决类、接口、方法的复用性
下面以 MongoDb 为例:
db.ts
interface DBI<T> {
add (info: T): boolean;
update (info: T, id: number): boolean;
delete (id: number): boolean;
get (id: number): any[];
}
// 定义一个操作 mysql 数据库的类,注意:要实现泛型接口,这个类也应该是泛型类
export class MongoDb<T> implements