typescript类型、接口、类、泛型综合使用(定义一个操作数据库的库,支持Mysql Mssql MongoDB)

   日期:2020-09-06     浏览:123    评论:0    
核心提示:要求:MySQL MSSQL MongoDB 功能一样,都有add、update、delete、get方法。注意:约束统一的规范、以及代码重用解决方案:需要约束规范所以要定义接口,需要代码重用所以用到泛型接口:在面向对象的编程中,接口是一种定义规范的定义,他定义了行为和动作的规范泛型通俗的理解:泛型就是解决类、接口、方法的复用性 //定义接口 interface DBI{ add(info:T):boolean; update(info:T,id:num..
  1. 要求:MySQL MSSQL MongoDB 功能一样,都有add、update、delete、get方法。

  2. 注意:约束统一的规范、以及代码重用

  3. 解决方案:需要约束规范所以要定义接口,需要代码重用所以用到泛型

    1. 接口:在面向对象的编程中,接口是一种定义规范的定义,他定义了行为和动作的规范
    2. 泛型通俗的理解:泛型就是解决类、接口、方法的复用性
    	//定义接口
    	interface DBI<T>{
    		add(info:T):boolean;
    		update(info:T,id:number):boolean;
    		delete(id:number):boolean;
    		get(id:number):any[];
    	}
    	//定义一个操作mysql数据库的类 注意:要实现泛型接口,这个类应该也是泛型类
    	class MysqlDb<T> implements DBI<T>{
    		add(info:T):boolean{
    			console.log(info);
    			return true;
    		}
    		update(info:T,id:number):boolean{
    			
    		}
    		delete(id:number):boolean{
    			
    		}
    		get(id:number):any[]{
    			var list =[{
    					title:"xx",
    					desc:"xxxxx"
    				},{
    					title:"xx",
    					desc:"xxxxx"
    			 }]
    			return list;
    		}
    	}
    
    	//定义一个操作mssql数据库的类
    	class MssqlDb<T> implements DBI<T>{
    		constructor(){
    			console.log("数据库建立连接");
    		}
    		add(info:T):boolean{
    			console.log(info);
    			return true;
    		}
    		update(info:T,id:number):boolean{
    			
    		}
    		delete(id:number):boolean{
    			
    		}
    		get(id:number):any[]{
    			var list =[{
    					title:"xx",
    					desc:"xxxxx"
    				},{
    					title:"xx",
    					desc:"xxxxx"
    			 }]
    			return list;
    		}
    	} 
    
    	//操作用户表 定义一个user类和数据表做映射
    	class User{
    		username:string|undefined;
    		password:string|undefined;
    	}
    	//实例化user
    	var u = new User();
    	u,username="aaa";
    	u.pasword="123123";
    	
    	var oMysql = new MysqlDb<User>();
    	oMysql.add(u);//{username:"aaa",pasword:"123123"}
    	var oMssql = new MssqlDb<User>();
    	oMssql.add(u);//{username:"aaa",pasword:"123123"}
    
    	//获取User表 id=4的数据
    	var data = oMssql.get(4);
    	console.log(data);//
    

(简单的模拟数据库,可以自己扩展)

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服